Большинство вещей удобнее делать через MySQL Workbench. Но чтобы изначально создать и настроить БД, а также бекапить ее — требуется терминал. Поэтому эта шпаргалка поможет вспомнить необходимые команды терминала для MySQL, без лишнего.
Чтобы залогинится в MySQL с локалки — делаем ярлык на рабочий стол со следующим путем:
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe" "--defaults-file=C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" "-uroot" "-p"
Теперь при даблклике на ярлык вам предстоит ввести только рутовый пароль 🙂
Если не запускается MySQL: проверяем services.msc
и делаем netstat -na | find "3306"
Теперь команды:
Чтобы юзать MySQL Workbench на стороннем компе — надо создать пользователя в MySQL конкретно для определенного IP-адреса. При чем для каждого IPшника будет создана отдельная запись пользователя, даже если у него такой же логин/пароль. Т.е. если вы хотите при помощи Workbench подсоединиться к удаленной БД с нового IP’шника, надо добавлять нового пользователя. Например:
CREATE USER 'логин'@'11.111.111.111' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON имя_бд.* To 'логин'@'11.111.111.111' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON имя_бд.* TO 'логин'@'11.11.111.111' WITH GRANT OPTION;
Посмотреть, что получилось:
select host, user, password from mysql.user;
Не забываем FLUSH PRIVILEGES;
Сделать бекап (под рутом):
mysqldump -uroot -pпароль имя_бд > C:\dump.sql
Восстановить бекап в консоли MySQL:
-uroot -p имя_бд < localhost.sql
Другие полезные команды:
Создать БД | create database [databasename]; | |
Список всех БД | show databases; | |
Переключиться на БД | use [db name]; | |
Увидеть все таблицы | show tables; | |
Увидеть поля | describe [table name]; | |
Удалить БД | drop database [database name]; | |
Удалить таблицу | drop table [table name]; | |
Просмотреть данные в таблице | SELECT * FROM [table name]; | |
Поменять пароль | SET PASSWORD FOR ‘логин’@’111.11.11.11’ = PASSWORD(‘пароль’); | |
Обновить права | FLUSH PRIVILEGES; | |
Забекапить все БД. Для этого команда по сути воссоздает БД в новом файле | [mysql dir]/bin/mysqldump -u root -ppassword —opt >/tmp/alldatabases.sql | |
Забекапить одну БД | [mysql dir]/bin/mysqldump -u username -ppassword —databases databasename >/tmp/databasename.sql | |
Восстановить БД | [mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql |