Ubuntu解決 MariaDB無密碼就能夠登陸的問題

 

 

使用apt-get來安裝mysql,安裝好以後發現安裝的是 MariaDB,以下,無需密碼既能夠登陸了。即便使用mysqladmin或mysql_secure_installation 設置好密碼,用密碼登陸能夠,不用密碼登陸也能夠。html

去google了好久,終於有發現了,是用戶插件問題。mysql

參見這裏:https://nixmash.com/post/fix-for-mysql-rootlocalhost-access-denied-on-new-installssql

 

跟安裝正常的mysql來比較下,以下ubuntu

正常mysql
mysql> select user, plugin from mysql.user where plugin = 'mysql_native_password';
+-----------+-----------------------+
| user      | plugin                |
+-----------+-----------------------+
| root      | mysql_native_password |
+-----------+-----------------------+
8 rows in set (0.00 sec)


不正常的
MariaDB [(none)]> select user, plugin from mysql.user;
+------+-------------+
| user | plugin      |
+------+-------------+
| root | unix_socket |
+------+-------------+
1 row in set (0.00 sec)

 

看到這裏應該發現問題了,按照正常的修改就好了socket

 

解決方法:post

 

root@ubuntu16:~# mysqld_safe --skip-grant-tables
root@ubuntu16:~# mysql
MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('123456'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> select user, plugin from mysql.user;
+------+-----------------------+
| user | plugin                |
+------+-----------------------+
| root | mysql_native_password |
+------+-----------------------+
1 row in set (0.00 sec)


root@ubuntu16:~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

 

參考:https://www.cnblogs.com/Dicky-Zhang/p/8000584.htmlgoogle

相關文章
相關標籤/搜索