====== MySQL. Шпаргалка ======
----
===== Управление пользователями =====
* **Список пользователей**
mysql> SELECT User,Host FROM mysql.user;
* **Список прав у пользователя root@localhost**
mysql> SHOW GRANTS FOR root@localhost;
* **Создание нового пользователя**
mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'secret';
* **Добавим выбранные привилегии для всех таблиц БД dbname пользователю 'user'@'localhost'**
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX ON dbname.* TO 'user'@'localhost';
* **Добавить все привилегии для всех таблиц БД dbname пользователю 'user'@'localhost'**
mysql> GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost';
* **Удаление прав пользователя 'user'@'localhost' для БД dbname:**
mysql> REVOKE ALL ON dbname.* FROM 'user'@'localhost';
* **Перезагрузка привилегий**
mysql> FLUSH PRIVILEGES;
* **Новый пароль для root**
mysqladmin -uroot password 'secret'
----
====== Управление базой данных ======
* **Создание базы данных**
mysql> CREATE DATABASE dbname COLLATE utf8_general_ci;
* **Создание базы данных из консоли**
mysqladmin -u root -p create dbname
* **Удаления базы данных из консоли**
mysqladmin -u root -p drop dbname
----
====== Статистика ======
* **Список всех баз данных**
mysql> SHOW DATABASES;
* **Список всех таблиц в выбранной базе данных**
mysql> SHOW TABLES;
* **Статистика по работе сервера**
mysql> SHOW GLOBAL STATUS;
* **Статистика по таблицам в используемой базе данных**
mysql> show table status
* **Статистика по всем таблицам указанной базы данных**
mysql> show table status FROM db_name
* **Статистика по таблицам InnoDB**
mysql> show engine innodb status
* **Отобразить статус репликации**
mysql> show slave status
* **Отобразить информацию по текущему статусу бинарного логирования**
mysql> show master status
----
====== Оптимизация ======
При помощи команды **mysqlcheck** можно выполнять проверку, оптимизацию и исправление ошибок.
* **Поверка на ошибки БД dbname**
mysqlcheck -p dbname
* **Восстановление и оптимизация всех БД**
mysqlcheck -Aor -p
**аргументы:**
**-p** – //использовать пароль// \\
**-A** – //проверять все базы данных// \\
**-r** – //ремонтировать БД// \\
**-o** – //оптимизировать БД// \\
* **Скрипт простой оптимизации БД**
mysqlcheck --repair --analyze --optimize --all-databases --auto-repair -u root -pSECRET
* **mysqltuner**
Установим **mysqltuner**, который показывает статистику по работающему mysql-серверу и дает полезные советы по оптимизации.
cd /usr/local/bin
wget -O mysqltuner.pl http://mysqltuner.pl/
chmod +x mysqltuner.pl
/usr/local/bin/mysqltuner.pl
При запуске скрипт спросит логин и пароль для root'a. После корректной авторизации будет выведена статистика и разные советы по правке конфигурационного файла MySQL.
----