MySQL шпаргалки

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

Показать пользователей в MySQL
SELECT User, Host FROM mysql.user;
Сброс пароля в BGBillingServer
mysql> use bgbilling;
mysql> update user set pswd = md5(123321)  where login = "admin";

Работа с бекапами

Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Привязываем к вновь созданной базе пользователя
GRANT ALL PRIVILEGES ON bgbilling.* TO bill@localhost IDENTIFIED BY 'bgbilling' WITH GRANT OPTION;

Загрузка таблицы в базу через sql файл
mysql> source \home\user\Desktop\test.sql;

Удаление базы данных:
DROP DATABASE test;

Удаление пользователя
DROP USER 'bill'@'localhost';

Создаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Заливаем бекап в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql

Заливаем архив бекапа в базу
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE
или так
zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE

Создаём новую базу данных
mysqladmin -u USER -pPASSWORD create NEWDATABASE

Удобно использовать бекап с дополнительными опциями -Q -c -e, т.е.
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

где:
-Q оборачивает имена обратными кавычками
-c делает полную вставку, включая имена колонок
-e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее

Для просмотра списка баз данных можно использовать команду:
mysqlshow -u USER -pPASSWORD

А так же можно посмотреть список таблиц базы:
mysqlshow -u USER -pPASSWORD DATABASE

Самый быстрый и простой способ сменить кодировку базы данных

ALTER DATABASE имя_вашей_базы_данных charset=кодировка;

Допустим, нам необходимо удалить все записи из данной таблицы.
Для этого мы должны использовать следующую команду:

TRUNCATE TABLE developers_copy;

Все что нужно!