Открыл свою шпаргалку, нашёл команду:
> ALTER USER 'zbx_monitor'@'10.30.52.9' IDENTIFIED WITH mysql_native_password BY 'XkRy1bRRgLIB';ERROR 1064 (42000): You have an error in your SQL syntax;Не работает. Сначала пробовал разные варианты, потом вспомнил, что ALTER меняет пароль у существующего пользователя, а мне нужно создать нового. Немного погуглил, нашёл, как создать пользователя, использующего пароль:
> CREATE USER 'zbx_monitor'@'10.30.52.9' IDENTIFIED VIA mysql_native_password;Query OK, 0 rows affected (0.075 sec)Нормально, пользователя создал. Пробую ещё раз первую команду, чтобы задать пароль:
> ALTER USER 'zbx_monitor'@'10.30.52.9' IDENTIFIED WITH mysql_native_password BY 'XkRy1bRRgLIB';ERROR 1064 (42000): You have an error in your SQL syntax;Опять не работает. Перебираю разные варианты и нахожу рабочий:
> ALTER USER 'zbx_monitor'@'10.30.52.9' IDENTIFIED BY 'XkRy1bRRgLIB';Query OK, 0 rows affected (0.114 sec)Честно говоря не понял, почему мой исходный вариант не сработал. Раньше точно работал, сейчас перестал. С MySQL в этом плане сейчас геморно стало. Проще сразу поставить adminer или phpmyadmin. Из-за того, что у mysql появилось несколько форков, плюс разные плагины аутентификации: unix_socket и mysql_native_password, комбинации команд по управлению пользователями стали отличаться в разных версиях. Это создаёт неудобства и только тратит время на поиск работающего варианта.
Я в основном с MariaDB работаю. Вот небольшая шпаргалка для консольного клиента этой СУБД.
📌 Первичная настройка сразу после установки, где можно выбрать тип плагин для аутентификации и задать пароль root:
# mysql_secure_installation📌 Создание базы данных:
> CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;📌 Создание пользователя с паролем:
> CREATE USER 'zabbix'@'10.30.52.9' IDENTIFIED VIA mysql_native_password;> ALTER USER 'zabbix'@'10.30.52.9' IDENTIFIED BY 'PassWORD123';📌 Назначаем пользователю права на базу данных (полные и выборочные):
> GRANT ALL PRIVILEGES on zabbix.* to 'zabbix'@'10.30.52.9';> GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'10.30.52.9';📌 Список пользователей и их прав:
> SELECT user,authentication_string,plugin,host FROM mysql.user;📌 Загрузить дамп в базу zabbix:
> USE zabbix;> SOURCE my_dump.sql;или
> \. my_dump.sql;📌 Удалить базу:
> DROP DATABASE zabbix;📌 Список активных соединений:
> SHOW FULL PROCESSLIST;📌 Посмотреть значение конкретного параметра (innodb_buffer_pool_size):
> SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';📌 Изменение параметра (max_connections):
> SET GLOBAL max_connections = 200;Эти команды покрывают 95% моих задач, которые приходится выполнять в консольном клиенте mysql. Есть ещё несколько, касающихся репликации, но это отдельная тема.
Напоминаю, что у меня есть публикация с подборкой заметок по теме MySQL сервера. Там затрагиваются вопросы настройки, мониторинга, бэкапа и эксплуатации сервера MySQL.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#mysql
