1 1 1 1 1 1 1 1 1 1 Рейтинг 0.00 (0 Голоса(ов)

Полезные команды командной строки 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> use mysql; Database changed mysql> select user,host,password from user;

Обновление привилегий БД:

Код 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 без пробелов. 

Работа с БД и таблицами.

Работа с БД и таблицами осуществляется с помощью команд, идентичным командам, которые мы используем для работы с БД при написании программы на своем любимом языке. Что не удивительно, ибо это они и есть...

Создать БД:

Код MySQL:
mysql> CREATE DATABASE [имя БД];

или

Код MySQL:
mysql> CREATE DATABASE `[имя БД]` CHARACTER SET utf8 COLLATE utf8_general_ci;

CHARACTER SET и COLLATE — Используется для задания стандартной кодировки таблицы и порядка сортировки.

Вывести список БД (к которым есть доступ у пользователя):

Код MySQL:
mysql> SHOW DATABASES;

Выбор БД:

Код MySQL:
mysql> USE [имя БД];

Вывести список таблиц в БД:

Код MySQL:
mysql> SHOW TABLES;

Узнать формат таблицы:

Код MySQL:
mysql> DESCRIBE [имя таблицы];

Создать таблицу:

Код MySQL:
mysql> CREATE TABLE [имя таблицы] (переменная1 тип1, ..., переменнаяN типN);

Вывести содержимое таблицы:

Код MySQL:
mysql> SELECT * FROM [имя таблицы];

Вывести уникальные записи таблицы:

Код MySQL:
mysql> SELECT DISTINCT [столбец] FROM [имя таблицы];

Регулярные выражения в запросе. Например, для регистро-независимого поиска – найти все записи, начинающиеся с буквы А:

Код MySQL:
mysql> SELECT * FROM [имя таблицы] WHERE [поле] RLIKE "^a";

Скопировать таблицу в другую в пределах БД:

Код MySQL:
mysql> INSERT INTO `[таблица-получатель]` ([Поле1],...,[ПолеN]) SELECT [Поле1], ..., [ПолеN] FROM `[таблица-источник]`

Показать количество строк в таблице:

Код MySQL:
mysql> SELECT COUNT(*) FROM [имя таблицы];

Подсчитать количество столбцов в таблице:

Код MySQL:
mysql> SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_catalog = '[имя БД]' AND table_name = '[имя таблицы]';

Удаление столбца:

Код MySQL:
mysql> ALTER TABLE [имя таблицы] DROP COLUMN [столбец];

Добавление столбца в базу данных:

Код MySQL:
mysql> ALTER TABLE [имя таблицы] ADD COLUMN [столбец] [тип данных];

Изменение имени столбца:

Код MySQL:
mysql> ALTER TABLE [имя таблицы] CHANGE [старое имя столбца] [новое имя столбца] [тип данных];

Изменение типа данных столбца:

Код MySQL:
mysql> ALTER TABLE [имя таблицы] MODIFY [столбец] [тип данных];

Вывести столбцы и их содержимое:

Код MySQL:
mysql> SHOW COLUMNS FROM [имя таблицы];

Вывести настройки БД:

Код MySQL:
mysql> SHOW CREATE DATABASE [имя БД];

Удалить БД:

Код MySQL:
mysql> DROP DATABASE [имя БД];

Удалить таблицу:

Код MySQL:
mysql> DROP TABLE [имя таблицы];

 

Оставьте свой комментарий

Оставить комментарий как гость

0
  • Комментариев нет