Шпаргалка по MySQL

0
3041

Шпаргалка по MySQL

Шпаргалка по MySQL
Шпаргалка по MySQL

В данной шпаргалке по MySQL мы расскажем про Сброс пароля mysql, Cкрипт для добавления пользователя, как показать всех пользователей и другое.

Коннект к mysql по TCP

mysql --user root --host localhost --port 3306 --protocol tcp

Создать БД

CREATE DATABASE $DB_NAME character set utf8;

Добавить пользователя

CREATE USER $DB_USER@localhost IDENTIFIED BY '$DB_PASSWORD';

Дать права пользователю на БД

GRANT ALL ON $DB_NAME.* TO $DB_USER@localhost;

на удаленный доступ:

GRANT ALL PRIVILEGES ON $DB_NAME.* TO $DB_USER@'%' IDENTIFIED BY '$DB_PASSWORD';

на удаленный доступ на все таблицы:

grant all privileges on *.* to DB_USER@'%';

сменить пароль пользователю

SET PASSWORD FOR логин@localhost = PASSWORD('пароль'); SET PASSWORD FOR логин@"%" = PASSWORD('пароль');

что бы права вступили в силу:

flush privileges;

Посмотреть права пользователя

SHOW GRANTS for $DB_USER@localhost;

Если нужно залить большой дамп, то в /etc/my.cnf в секцию [mysqld] добавить:

max_allowed_packet = 16M

Работа с кластером мастер-слейв

посмотреть состояние мастера:

show master status;

посмотреть состояние слейва:

SHOW SLAVE STATUS\G

Посмотреть структуры таблицы в БД

или

Посмотреть состояние таблиц в БД

SHOW TABLE STATUS;

Есть еще лучше способ:

To use in your place you must call as:

mysql> call tools.sp_status(database()); Note the stored procedure has created in tools database (you can use another db), the goal of this is to call that useful procedure from any database, and it receives the name of database as parameter because is not possible obtain the current database from inside of stored procedure.

Сброс пароля mysql

1). В /etc/mycnf в секцию [mysqld] вставляем строку skip-grant-tables
2). Перезапустить mysqld.

После этого пароль будут сброшен и можно ввести любой другой.

Cкрипт для добавления пользователя

mysql-add_user:

Добавить индекс в таблицу wp_options по полю autoload

Показать индексы для таблицы

SHOW INDEXES FROM wp_options;

Узнать как выполняется запрос и какие индексы использует

EXPLAIN SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';

Показать всех пользователей

SELECT User,Host FROM mysql.user;

То же самое, но сразу в формате, который можно использовать в DROP user:

SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;

Удалить пользователя

As of MySQL 5.0.2, you can remove an account and its privileges as follows: DROP USER user; The statement removes privilege rows for the account from all grant tables.

Вывести результат в файл:

Запись лога всех запросов к БД

вывод лога в таблицу ( в БД mysql):

Enable Query logging on the database

View the log

Disable Query logging on the database

Вывод лога в файл:

Определить размер базы MYSQL

Команда:

Или скрипт mysql-db_size:

Показать размер таблиц в БД

скрипт table_sizes.sh

Скрипт резервного копирования всех баз на сервере

Убрать заголовки в выводе mysql

Вывод всех запросов в лог

источник