Mariadb
將 mysql 遷移到 Mariadb 時,如何修改從 10.4.1 開始的 mariadb 中的身份驗證外掛,以便在沒有密碼的情況下為 root 使用者獲取 mysql 訪問權限
在https://kofler.info/root-login-problem-mit-mariadb/描述了一種用於修改用於驗證使用者的外掛的方法
update mysql.user set plugin='' where user='root';
導致
ERROR 1348 (HY000): Column 'plugin' is not updatable
https://mariadb.com/kb/en/library/mysqlglobal_priv-table/
解釋說現在有一個單列 global_priv 表,而原始使用者表現在是一個視圖。
select * from mysql.global_priv where User='root';
是可能的或
SELECT CONCAT(user, '@', host, ' => ', JSON_DETAILED(priv)) FROM mysql.global_priv where user='root';
以獲得更易讀的版本。
不幸的是,文件沒有說明
- 如何修改此設計決策下的列?
- 改變的動機?
很高興能回答這兩個問題 - 顯然#1 是更緊迫的問題。
見:https ://mariadb.com/kb/en/library/authentication-plugin-unix-socket/
ALTER USER root@localhost identified via unix_socket; flush privileges;
還
mysql
現在適用於沒有密碼的root使用者。
聲明 *“unix_socket 身份驗證外掛也預設安裝…”
如果從 Oracle 的 mysql 遷移到 mariadb 確實沒有效果
ALTER USER 'root'@'localhost' IDENTIFIED WITH <auth_plugin> USING PASSWORD('RootPass');