10 июля 2014 г.

Сегодня хотел бы выложить шпаргалку по основам работы с консолью MySQL. Частенько приходится гуглить то, что забывается через пару часов, а требуется постоянно. Итак, приступим от слов к делу.

Маленькая pdf'ка с типами, командами и запросами

 

 

 

Создание, удаление БД

Создать БД database с кодировкой utf8 и порядком сортировки utf8_general_ci

CREATE DATABASE database CHARACTER SET utf8 COLLATE utf8_general_ci;

Удаление базы данных

DROP DATABASE IF EXISTS database;

Получаем список всех БД

SHOW DATABASES;

Переключаемся на БД database

USE database;

Список всех таблиц в выбранной базе данных

SHOW TABLES;

Пользователи, доступы

Чтобы получить список пользователей:

SELECT User,Host FROM mysql.user;

Следующая команда создаст пользователя user с паролем password:

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

Следующая команда даст пользователю user перечисленные привилегии, которые будут работать для всех таблиц БД database:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX ON database.* TO 'user'@'localhost';

Аналогично предыдущей команде, но привилегии даются все:

GRANT ALL PRIVILEGES ON database.* TO 'user'@'localhost';

Меняем пароль для пользователя user на password:

#mysqladmin -uuser password 'password'

 

Резервное копирование

Команда создаст дамп БД database и запишет в dump.sql. Файл будет лежать в текущей директории.

mysqldump -uuser -p database > dump.sql

Дамп всех баз:

mysqldump -uuser -p -A > dump.sql

Дамп только структуры, без данных:

mysqldump -uuser -p --no-data database > database.sql

Накатываем дамп:

mysql -uuser -p database < dump.sql

Восстановление root-пароля

#service mysqld stop
#mysqld_safe --skip-grant-tables &
#mysql

#mysql> UPDATE mysql.user SET Password=PASSWORD('password') pre User='root';
#mysql> FLUSH PRIVILEGES;
#mysql> \q

#service mysqld restart
Автор: Артур Минимулин ⚫ 10 июля 2014 г.Тэги: Софт, Linux, Хостинг, Конфигурация, MySQL