Вимкніть --skip-grant-таблиці в MySQL


13

Я досить новачок у використанні Linux, але я налаштовую свої бази даних MySQL на екземплярі Amazon ec2. Я дотримувався деяких вказівок щодо скидання проходу для входу користувачів, використовуючи --skip-grant-tablesпараметр MySQL. Зараз я намагаюся додати користувача і не можу зрозуміти, як вимкнути цю опцію.

Це те, що я намагаюся зробити:

mysql> GRANT CREATE,SELECT,INSERT,UPDATE,DELETE ON ...my db username and pass

але я отримую цю помилку:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

Як вимкнути цю опцію?

Відповіді:




2

Це можна зробити, скориставшись описаними нижче кроками.

[root@backups1 mysql5.7]# bin/mysqld_safe --skip-grant-tables --user=mysql

підключіться до свого mysql без пароля.

mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '';
mysql> flush privileges;

перейти в звичайний режим mysql, потім підключиться без пароля.

Це неодмінно допоможе вам.


0

Вчора я стикався з подібною проблемою. Сервер використовував Amazon Linux 2 в якості ОС і офіційний репозиторій yum (el7) як спосіб встановлення.

Особливо, коли ви використовуєте MySQL офіційного yum repo, MySQL буде встановлений як системна служба. У такому випадку, ви можете перевірити , як процес MySQL запущений, виконавши наступну команду: sudo service mysql status -l. Це призводить до опису поточного стану поточної служби mysql. З цих описів я міг знайти такий рядок:

  Process: 26474 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS

У моєму середовищі виявилося, що MYSQLD_OPTSзмінна була встановлена ​​з --skip-grant-tablesпараметром значення системним процесом. Щоб підтвердити змінні середовища, встановлені systemd, ви можете виконати sudo systemctl showі шукати рядок, починаючи з Environment=.

Щоб змінити цю змінну середовища, я виконав наступну команду.

sudo systemctl set-environment MYSQLD_OPTS=""

Після цієї операції я перезапустив сервіс mysqld sudo service mysql restart, і все працювало чудово.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.