Краткая справка по MySQL

Когда я был молод ;) и не искушён в MySQL, я сделал для себя на вики-странице вот такую шпаргалку, добавляя в неё новые записи при необходимости. Сейчас всё это кажется мне тривиальным, за исключением, пожалуй, сброса пароля пользователя root, просто потому что с этим не часто приходится сталкиваться.

1. Создать новую базу данных

> create database [db];

2. Добавить пользователя

> use mysql;
> insert into user(user,password,host) values('[user]',password('[password]'),'[host]');

3. Дать пользователю полные права на базу данных

> grant all on [db].* to [user];

4. Применить изменения прав доступа

> flush privileges;

5. Сброс пароля пользователя root в mysql

  1. Останавливаем mysql.

    # /etc/init.d/mysql stop
  2. Запускаем mysql следующей командой:

    # /usr/bin/mysqld_safe -skip-grant-tables -user=root &
  3. Запускаем клиента mysql

    # mysql -u root
  4. Выполняем sql запрос

    > update mysql.user set password=password('[password]') where user='root';
  5. Применяем изменения

    > flush privileges;
  6. Выходим из mysql клиента выполнив в нем команду exit
  7. Перегружаем mysql сервер.

    # /etc/init.d/mysql restart

6. Снятие резервной копии

Чтобы снять резервную копию с определённой базы данных, воспользуемся следующей командой:

$ mysqldump -u [user] -p [password] [db] > db.sql

Чтобы снять резервную копию со всей базы данных, воспользуемся следующей командой:

$ mysqldump -u [user] -p [password] --all-databases > all.sql

Выполнять резервное копирование нужно под тем пользователем, который имеет доступ к базе данных. Если делаем резервную копию всех баз - пользователь должен иметь доступ ко всем базам данных.

7. Восстановление резервной копии

Чтобы восстановить резервную копию определённой базы данных, воспользуемся следующей командой:

$ mysql -u [user] -p [password] < db.sql

Выполнять восстановление резервной копии нужно под тем пользователем, который имеет полный доступ к соответствующей базе данных. Если восстанавливаем все базы данных, то восстанавливать нужно под пользователем, имеющим соответствующие права во всех базах данных.

Обозначения:

Написать автору