經常有同事忘記了root用戶密碼。這裏把Linux上的重置步驟描述一下:
1)停止mysqld進程
查看mysqld的進程信息。如:
# ps -ef | grep -i mysql
root 7631 1 0 11:39 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/mmdev-com.pid
mysql 7758 7631 1 11:39 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/mmdev-com.err --pid-file=/var/lib/mysql/mmdev-com.pid
# service stop mysqld
2)重啓mysqld進程,附加命令參數 --skip-grant-tables 和
--skip-networking。第一個參數可以關閉身份認證。第二個參數則是爲了安全考慮,關閉了網絡訪問。
# /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/mmdev-nq-com.err --pid-file=/var/lib/mysql/mmdev-com.pid --skip-grant-tables --skip-networking
3)在mysqld本機啓動mysql客戶端
# mysql
4)使用下面的SQL語句修改root密碼
5)停止mysqld進程
與第一步做法相同。
6)正常啓動mysqld,不帶 --skip-grant-tables 和 --skip-networking 這兩個參數。