2019年3月31日 星期日

ubuntu 18.04 之 mysql 忘記 root 密碼

今天在家裡的 lubuntu 18.04 電腦上想要把冷凍很久的 mysql 拿出來用, 但因為事業做太大、 serves 養太多了, 突然發現完全想不起來這個不重要的 mysql 帳號的 root 用戶密碼。 沒關係, 記得搜尋得到解法。 找到一篇 2012 年的文章 , 但是在執行 mysqld_safe --skip-grant-tables & 的時候, 卻看到這樣的訊息: mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 然後 mysqld_safe 馬上結束, 我也就無法繼續往下做。

從 stackoverflow 的 這個解答 再找到 改設定檔的方法 以及 修改密碼的正確指令, 最後配合 *ubuntu 18.04 的狀況做一點小修改, 得到以下。

  1. 從 /etc/mysql/my.cnf 得知應該編輯 /etc/mysql/mysql.conf.d/mysqld.cnf 。 在 [mysqld] 下面加兩句:
    skip-grant-tables
    skip-networking
    
  2. 在 (危險的) 免密碼模式下重新啟動 mysql : systemctl restart mysql
  3. 免密碼直接登入: mysql -u root
  4. 在 mysql 命令列底下:
    use mysql;
    update user set authentication_string=PASSWORD("大忙人記得住的密碼") where User='root';
    update user set plugin="mysql_native_password" where User='root';
    flush privileges;
    quit;
    
  5. 再次編輯 /etc/mysql/mysql.conf.d/mysqld.cnf , 把剛才那兩句註解掉。
  6. 以正常 (需要密碼的模式) 重新啟動 mysql : systemctl start mysql
  7. 然後就可以 mysql -u root -p 並輸入密碼、 登入做事了。

然後寫完文章要加 tag 時又突然發現不知道該下什麼標籤才好... 平常根本沒在用任何資料庫軟體, 我是 mysql 逃兵 啊 orz

沒有留言:

張貼留言