Thank you for reading this post, don't forget to subscribe!
- Создать базу данных с кодировкой utf8
1CREATE DATABASE IF NOT EXISTS `my_db` CHARACTER SET utf8 COLLATE utf8_general_ci;
- Список БД 1SHOW DATABASES;
- Узнать кодировку БД 1SHOW CREATE DATABASE <db_name>
- Выбрать БД
1USE <db_name>;
- Создать таблицу table-name с первичным ключом id 12345CREATE TABLE table-name(id SMALLINT,name VARCHAR(30),CONSTRAINT pk_table-name PRIMARY KEY (id));
- Просмотр таблиц 1SHOW TABLES FROM <db_name>;
- Список столбцов MySQL 1describe <table_name>;
- Добавить данные в таблицу MySQL 12INSERT INTO <table_name> (<col1_name>, <col2_name>)VALUES ('VALUE1', 'VALUE2')
- Изменить значения столбцов в таблице MySQL 123UPDATE <table_name>SET <col1> = 'VALUE2'WHERE <col2> = 'VALUE1';
- Просмотр значения столбцов 1SELECT <col_name> FROM <tbl_name> WHERE <other_col> = 'VALUE';
- Просмотр индексов 1SHOW INDEX FROM <tbl_name>;
- Добавить пользователей MySQL 123456mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;mysql> GRANT USAGE ON *.* TO dummy@localhost;
monty
Полноценный суперпользователь — он может подсоединяться к серверу откуда угодно, но должен использовать для этого пароль some_pass. Обратите внимание на то, что мы должны применить операторы GRANT как для monty@localhost, так и для monty@»%». Если не добавить запись с localhost, запись анонимного пользователя для localhost, которая создается при помощи mysql_install_db, будет иметь преимущество при подсоединении с локального компьютера, так как в ней указано более определенное значение для поля Host, и она расположена раньше в таблице user.
admin
Пользователь, который может подсоединяться с localhost без пароля; ему назначены административные привилегии RELOAD и PROCESS. Эти привилегии позволяют пользователю запускать команды mysqladmin reload, mysqladmin refresh и mysqladmin flush-*, а также mysqladmin processlist. Ему не назначено никаких привилегий, относящихся к базам данных (их можно назначить позже, дополнительно применив оператор GRANT).
dummy
Пользователь, который может подсоединяться к серверу без пароля, но только с локального компьютера. Все глобальные привилегии установлены в значение ‘N’-тип привилегии USAGE, который позволяет создавать пользователей без привилегий. Предполагается, что относящиеся к базам данных привилегии будут назначены позже. - Пользователи
12DESC mysql.user;SELECT host, user, password FROM mysql.user;
- Просмотр привилегий пользователей 1234SHOW GRANTS FOR <user>@<localhost>;SHOW GRANTS;SHOW GRANTS FOR CURRENT_USER;SHOW GRANTS FOR CURRENT_USER();
- Просмотр прав пользователя на конкретную БД 1SELECT user,host FROM mysql.db WHERE `db` = 'some_database';
- Значения системных переменных 1SHOW VARIABLES;
- Статистика по MySQL процессам 1SHOW [FULL] PROCESSLIST;
- Общая статистика
1SHOW STATUS;
- Статистика по всем таблицам в бд 1SHOW TABLE STATUS [FROM db_name];
- Удалить таблицу 1DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...] [RESTRICT | CASCADE]
- Удалить БД 1DROP DATABASE [IF EXISTS] db_name
- Удалить строку 1234DELETE [LOW_PRIORITY | QUICK] FROM table_name[WHERE where_definition][ORDER BY ...][LIMIT rows]
- Обновить столбец 123456789UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition][ORDER BY ...][LIMIT rows]илиUPDATE [LOW_PRIORITY] [IGNORE] tbl_name [, tbl_name ...]SET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition]
- Изменить пароль root 1mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
- Сделать дамп БД 1mysqldump -uroot -p <db_name> > db.sql
- Развернуть дамп БД 1mysql -uroot -p <db_name> < db.sql
- Просмотреть информация о таблицах INNODB 1SHOW ENGINE INNODB STATUS\G
- Полезная информация 12SHOW PROCESSLIST;SHOW GLOBAL STATUS;
установить слабый пароль для mysql.5.7
смотрим:
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
изменяем политику:
mysql> SET GLOBAL validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
меняем пароль
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456789';
Query OK, 0 rows affected (0.00 sec)