Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных. Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL
Показать пользователей в MySQLSELECT 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;
Все что нужно!