ในกรณีของฉันดูเหมือนว่าฉันไม่สามารถฆ่ากระบวนการ mysql เมื่อฉันเรียกใช้
sudo service mysql stop
ps -ef | grep mysql
กระบวนการ mysql อยู่ที่นั่นเสมอดูเหมือนว่ากำลังบล็อกไฟล์ซ็อกเก็ตและกระบวนการ mysql ใหม่ไม่สามารถสร้างมันเองได้
ดังนั้นสิ่งนี้ช่วย
cd /var/run
sudo cp mysqld/ mysqld.bc -rf
sudo chown mysql:mysql mysqld.bc/
sudo service mysql stop
sudo cp mysqld.bc/ mysqld -rf
sudo chown mysql:mysql mysqld -R
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
ตอนนี้ฉันสามารถเข้าสู่ระบบฐานข้อมูลโดยใช้
mysql -u root
จากนั้นเพื่ออัปเดตรหัสผ่านรูท:
UPDATE user SET authentication_string=password('YOURPASSWORDHERE') WHERE user='root';
FLUSH PRIVILEGES;
PS : ฉันมีปัญหาในการอัปเดต root passwod ดูเหมือนว่ามีปัญหากับปลั๊กอิน "auth_socket" ดังนั้นฉันจึงต้องสร้างผู้ใช้ใหม่ด้วยสิทธิ์เต็มรูปแบบ
insert into user set `Host` = "localhost", `User` = "super", `plugin` = "mysql_native_password", `authentication_string` = NULL, `password_expired` = "N", `password_lifetime` = NULL, `account_locked` = "N", `Select_priv` = "Y",
`Insert_priv` = "Y", `Update_priv` = "Y", `Delete_priv` = "Y", `Create_priv` = "Y", `Drop_priv` = "Y", `Reload_priv` = "Y", `Shutdown_priv` = "Y", `Process_priv` = "Y", `File_priv` = "Y",
`Grant_priv` = "Y", `References_priv` = "Y", `Index_priv` = "Y", `Alter_priv` = "Y", `Show_db_priv` = "Y", `Super_priv` = "Y", `Create_tmp_table_priv` = "Y", `Lock_tables_priv` = "Y",
`Execute_priv` = "Y", `Repl_slave_priv` = "Y", `Repl_client_priv` = "Y", `Create_view_priv` = "Y", `Show_view_priv` = "Y", `Create_routine_priv` = "Y", `Alter_routine_priv` = "Y",
`Create_user_priv` = "Y", `Event_priv` = "Y", `Trigger_priv` = "Y", `Create_tablespace_priv` = "Y";
สิ่งนี้จะสร้างผู้ใช้ "super" โดยไม่มีรหัสผ่านจากนั้นคุณสามารถเชื่อมต่อได้ mysql -u super