Команды mysql которые со временем забываются
Дать привилегии на БД тест с созданием локального юзера тест с паролем тест
GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost' IDENTIFIED BY 'test' WITH GRANT OPTION;
Или изменить пароль:
UPDATE user SET password=PASSWORD("pass") where User='pupkind'
Для версии 8+:
CREATE USER 'wordpress'@'localhost' IDENTIFIED WITH mysql_native_password BY '{superSecretPassword!123}';
Проверка, ремонт и оптимизация таблиц
mysqlcheck -u root -p*Ваш пароль* --check --all-databases
mysqlcheck -u root -p*Ваш пароль* --auto-repair --all-databases
mysqlcheck -u root -p*Ваш пароль* --optimize --all-databases
Дамп
mysqldump --user=DBUSER --password=USERPASSWORD DBNAME > DUMPFILENAME.sql
или
mysqldump -uDBUSER -pUSERPASSWORD DBNAME > DUMPFILENAME.sql
Просмотр записей в табличке
SELECT * FROM mysql;
Просмотр записей в табличке из определенных полей и с определенными параметрами:
SELECT name, project, works_since FROM staff WHERE name > 'Иван' AND works_since '1998-04-26';
Просмотр в консоли без логина в mysql
mysql -uroot -e 'show tables' database_name && echo done
Общий дамп БД Mysql скриптом bash / sh, отдельно по базам
#!/bin/bash
for file in $(mysql -uroot -pпароль -e 'show databases');
do mysqldump -uroot -pпароль --events "$file" > "$file".sql;
done
Импорт дампа Бд в архиве напрямую в базу:
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database
Самый простой способ сразу удалить все таблицы из базы MySQL — использовать утилиту mysqldump
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
Восстановление отдельной таблицы из дампа (не тестировал):
#!/bin/sh PATH=/bin:/usr/bin/ ls *.gz | sed 's/\..*//' echo "Enter dump" read DUMPDB gunzip $DUMPDB cat $DUMPDB | awk '/CREATE TABLE/ {print($3)}' | sed -e s/\`//g echo "Enter table" read TABLE cat $DUMPDB | sed "/ SET /d" | awk '/CREATE TABLE `'$TABLE'`/,/UNLOCK TABLES/' > $TABLE.sql
Автор: igel