Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных. Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL. Работа с бекапами Делаем бекап mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql Создаём структуру базы без данных 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 Создание бекапа с указанием его даты mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.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… Читать далее »
MySQL или MariaDB? Чтобы определить, какой сервер у Вас используется, нужно выполнить команду: mysql —version В результате Вы увидите следующий вывод для MySQL: mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper И такой вывод для MariaDB: mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1 Остановите сервер БД Для изменения пароля необходимо остановить MySQL или MariaDB сервер. Если Вы используете MySQL: systemctl stop mysql Если Вы используете MariaDB: systemctl stop mariadb Запуск сервера БД в безопасном режиме Для изменения пароля потребуется запустить сервер БД в безопасном режиме, то есть без загрузки параметров привилегий. Это позволит получить доступ к командной строке сервера БД без ввода пароля и соответственно изменить его. Для того, чтобы запустить сервер БД в безопасном режиме, выполните команду: mysqld_safe —skip-grant-tables —skip-networking & Далее, войдите в командную строку сервера БД под пользователем root: mysql -u root Изменение пароля Самый простой способ изменить пароль —… Читать далее »
При удаление всех данных из таблиц, иногда возникает необходимость сбросить счетчик AUTO_INCREMENT т.к. если этого не сделать то значения для новых данных будут присваиваться начиная с того, на котором стоял AUTO_INCREMENT до удаления данных из таблицы. Сброс счетчика AUTO_INCREMENT при помощи запроса к таблице MySQL ALTER TABLE name_table AUTO_INCREMENT=0; где name_table — имя вашей таблицы. После выполнения данного запроса при добавлениее новых значения полей будут присваиваться с единицы, если вы хотите чтобы значения начинались с другово числа, то измените значение параметра AUTO_INCREMENT. Пример: ALTER TABLE name_table AUTO_INCREMENT=100; Источник:https://admin-gu.ru/