Полезные команды командной строки MySQL
mysql>
в начале строки означает, что подразумевается выполнение команды непосредственно из MySQL-клиента.
Проверка статуса MySQL-сервера:
FreeBSD:
Код bash:service mysql-server status
CentOS / RHEL:
Код bash:service mysqld status
Подключиться к серверу MySQL:
Код bash:mysql -u [имя пользователя] -p[пароль]
если сервер находится на удаленном хосте, то добавляется ключ -h
:
Код bash:mysql -u [имя пользователя] -p[пароль] -h [удаленный хост]
Задать пароль root:
Код bash:mysqladmin -u root password '[пароль]'
иногда этот метод не работает и приходится идти "длинным путем" (этот же способ используется для восстановления пароля root):
- Останавливаем MySQL
- Запускаем в режиме без проверки прав доступа
- Соединяемся как root без пароля
- Выбираем активную БД
- Обновляем пароль
- Завершаем работу mysqld
- Запускаем MySQL в обычном режиме.
Код MySQL:mysql stop mysqld --skip-grant-tables & mysql mysql> USE mysql; mysql> UPDATE user SET Password=PASSWORD('новый пароль') WHERE User='root'; mysql> flush privileges; mysql> quit; mysql stop mysql start
для версий MySQL ниже 5.7.6 можно попробовать
Код MySQL:UPDATE mysql.user SET authentication_string = PASSWORD('[новый пароль]'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
Создание нового пользователя – подключение к серверу MySQL под root, переключение к базе данных, добавление пользователя, обновление привилегий:
Код MySQL:mysql -u root -p mysql> USE mysql; mysql> INSERT INTO user (Host,User,Password) VALUES('%', '[пользователь]', PASSWORD('[пароль]')); mysql> flush privileges;
Создать пользователя и предоставить ему доступ к БД:
Код MySQL:mysql> GRANT ALL PRIVILEGES ON `[имя базы]`.* TO '[пользователь]'@'localhost' IDENTIFIED BY '[пароль]';
Просмотр прав доступа:
Обновление привилегий БД:
Код MySQL:mysql> flush privileges;
Изменение пользовательского пароля из консоли MySQL – подключение под root, обновление пароля, обновление привилегий:
Код MySQL:mysql> SET PASSWORD FOR '[пользователь]'@'hostname' = PASSWORD('[пароль]'); mysql> flush privileges;
Установка привилегий пользователю на использование базы данных - подключение под root, переключение к базе данных, установка привилегий, обновление привилегий:
Код MySQL:mysql> use mysql; mysql> INSERT INTO mysql (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','[имя БД]','[пользователь]','Y','Y','Y','Y','Y','N'); mysql> flush privileges;
или
Код MySQL:mysql> grant all privileges on[имя БД].* to [пользователь]@localhost; mysql> flush privileges;
Создать резервную копию БД на сервере:
Код bash:mysqldump -y -f -q --default-character-set=binary --create-options --single-transaction --skip-extended-insert --add-drop-table -h [имя сервера MySQL] -u [имя пользователя] -p[пароль] [имя БД] > [имя файла резервной копии].sql
если опустить [имя БД]
, то будет создан дамп всех БД в один файл. А если после имени БД через пробел указать имя таблицы, то будет создан только ее дамп.
Создать резервную копию БД и сразу упаковать ее gZip:
Код bash:mysqldump -y -f -q --default-character-set=binary --create-options --single-transaction --skip-extended-insert --add-drop-table -h [имя сервера MySQL] -u [имя пользователя] -p[пароль] [имя БД] | gzip > [имя файла резервной копии].sql.gz
Восстановить БД из резервной копии:
Код bash:mysql -h [имя сервера MySQL] -u [имя пользователя] -p[пароль] -B [имя БД] < [имя файла резервной копии].sql
Восстановить БД из упакованной резервной копии:
Код bash:gunzip < [имя файла резервной копии].sql.gz | mysql -h [имя сервера MySQL] -u [имя пользователя] -p[пароль] -B [имя БД]
Обратите внимение, что пароль пишется после ключа -p
без пробелов.
Работа с БД и таблицами.
Работа с БД и таблицами осуществляется с помощью команд, идентичным командам, которые мы используем для работы с БД при написании программы на своем любимом языке. Что не удивительно, ибо это они и есть...
Создать БД:
или
CHARACTER SET
и COLLATE
— Используется для задания стандартной кодировки таблицы и порядка сортировки.
Вывести список БД (к которым есть доступ у пользователя):
Выбор БД:
Код MySQL:mysql> USE [имя БД];
Вывести список таблиц в БД:
Узнать формат таблицы:
Код MySQL:mysql> DESCRIBE [имя таблицы];
Создать таблицу:
Вывести содержимое таблицы:
Вывести уникальные записи таблицы:
Регулярные выражения в запросе. Например, для регистро-независимого поиска – найти все записи, начинающиеся с буквы А:
Скопировать таблицу в другую в пределах БД:
Код MySQL:mysql> INSERT INTO `[таблица-получатель]` ([Поле1],...,[ПолеN]) SELECT [Поле1], ..., [ПолеN] FROM `[таблица-источник]`
Показать количество строк в таблице:
Подсчитать количество столбцов в таблице:
Код MySQL:mysql> SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_catalog = '[имя БД]' AND table_name = '[имя таблицы]';
Удаление столбца:
Добавление столбца в базу данных:
Изменение имени столбца:
Код MySQL:mysql> ALTER TABLE [имя таблицы] CHANGE [старое имя столбца] [новое имя столбца] [тип данных];
Изменение типа данных столбца:
Вывести столбцы и их содержимое:
Вывести настройки БД:
Удалить БД:
Удалить таблицу:
Оставьте свой комментарий
Войдите, чтобы оставлять комментарии
Оставить комментарий как гость