官方對此的解釋為:https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/
即通過系統認出是root直接認證,但是如果想換成必須用密碼就需要改了這個模式
1,查看當前的認證狀態:
select user, plugin from user;
結果如果為 unix_socket 就需要修改模式
按照官網的說明修改就行
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
這樣可以修改模式為 mysql_native_password
2,查看修改后的狀態:
修改成功后發現還是可以通過mysql 或者mysql -uroot命令直接登錄
這里的坑就是,需要重新設置一下密碼。即使你是從 mysql_native_password 模式變為mysql_native_password模式,也需要設置一下
3,重設密碼:
ALTER USER `root`@`localhost` IDENTIFIED BY 'yourpassword';
其中以上的 root 代表用戶 localhost代表可訪問的地址,根據自己的情況修改即可
參考鏈接:https://mariadb.com/kb/en/authentication-plugin-unix-socket/