Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да нулирам 'root' потребителското поведение по подразбиране на MySQL 5.7

Проблем:

auth_socket модулът трябва ръчно да бъде инсталиран и активиран в root потребител, ако пишете над промените 5.7, като импортирате стария си MySQL 5.5 база данни и потребителска таблица.

Решение:

За потребителите искаме все още да използваме mysql_native_password , по подразбиране. За root , искаме да използваме auth_socket .

install plugin auth_socket soname 'auth_socket.so';
use mysql; update user set plugin='mysql_native_password';
update mysql.user set plugin = 'auth_socket' where User='root';
flush privileges;

Ако го направите в грешен ред (добавете root auth_socket колона преди да инсталирате приставката), тогава няма да можете да заредите mysql, тъй като приставката няма да извърши удостоверяване. За да стартирате и стартирате mysql в безопасен режим, използвайте това:

sudo service mysql stop
sudo mysqld_safe --skip-grant-table &
sudo mysql -u root -p -h localhost

Тези корекции бяха извършени при импортиране на пълна база данни и потребителска таблица от MySQL 5.5 към MySQL 5.7 , мигриране от Ubuntu 14.04 до Ubuntu 16.04 .

Инструменти:

Вижте Плъгини:show plugins \g

Показване на auth_socket на root потребител:select auth_socket from mysql.user where user='root';




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java Prepared оператор не се изпълнява

  2. MySQL актуализира, ако стойността е по-голяма от тази текуща стойност

  3. MySQL UPSERT без ON DUPLICATE KEY

  4. Импортиране на Mysql база данни с помощта на Ruby/Chef Recipe за Vagrant

  5. Mysql немски акценти нечувствително търсене при пълнотекстови търсения