Mysql

無法在安全模式下執行 mariadb

  • April 6, 2022

當我執行以下命令時

mysqld_safe --skip-grant-tables &

我收到消息

myuser@myvm:~$ 200523 08:24:41 mysqld_safe Logging to syslog. 200523 08:24:41 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

之後,當我輸入時,mysql我收到以下錯誤:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")

如何在安全模式下重新啟動 mariadb 以重置 root 密碼?

您以以下限制啟動伺服器

(然後)沒有密碼並具有所有權限,並禁用帳戶管理語句,例如 ALTER USER 和 SET PASSWORD。因為這是不安全的,如果伺服器使用 –skip-grant-tables 選項啟動,它還會通過啟用 skip_networking 來禁用遠端連接。

這來自如何重置root密碼

安全模式僅在進行諸如重置 roor 密碼之類的嘲弄時才實用。

所以更好地解釋你想做什麼,也許有更好或其他的解決方案

我以 root 身份登錄,現在我可以在安全模式下連接到 mariadb。這是因為根據https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/解釋,Unix Socket 通過將執行客戶端的程序的 uid 與 mysql.user 表中使用者的 uid 匹配來啟用登錄。換句話說,要以 root 身份訪問 mariadb,您必須以 root 身份登錄。

引用自:https://dba.stackexchange.com/questions/267747