CentOS下重置MySQL的root密碼的教程
本人在CentOS6.4上安裝萬mysql后,無法通過root進(jìn)入,因?yàn)榘惭b的時(shí)候,并沒有設(shè)置root密碼,似乎有個(gè)初始隨機(jī)密碼,但是不記得了,太麻煩,直接重置root密碼。
首先,你必須要有操作系統(tǒng)的root權(quán)限了。要是連系統(tǒng)的root權(quán)限都沒有的話,先考慮root系統(tǒng)再走下面的步驟。
PS:賦予用于root權(quán)限
方法一: 修改 /etc/sudoers 文件,找到%wheel一行,把前面的注釋(#)去掉
## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL
然后修改用戶,使其屬于root組(wheel),命令如下:
#usermod -g root tommy
修改完畢,現(xiàn)在可以用tommy帳號登錄,然后用命令 sudo su - ,即可獲得root權(quán)限進(jìn)行操作。
方法二: 修改 /etc/sudoers 文件,找到root一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere root ALL=(ALL) ALL tommy ALL=(ALL) ALL
修改完畢,現(xiàn)在可以用tommy帳號登錄,然后用命令 sudo su - ,即可獲得root權(quán)限進(jìn)行操作。
方法三: 修改 /etc/passwd 文件,找到如下行,把用戶ID修改為 0 ,如下所示:
tommy:x:500:500:tommy:/home/tommy:/bin/bash
修改后如下
tommy:x:0:500:tommy:/home/tommy:/bin/bash
保存,用tommy賬戶登錄后,直接獲取的就是root帳號的權(quán)限。
root下類似于安全模式登錄系統(tǒng),有人建議說是pkill mysql,但是我不建議哈。因?yàn)楫?dāng)你執(zhí)行了這個(gè)命令后,會導(dǎo)致這樣的狀況:
/etc/init.d/mysqld status mysqld dead but subsys locked
這樣即使你是在安全模式下啟動mysql都未必會有用的,所以一般是這樣/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
使用rpm包安裝完mysql后,按照一下步驟重置root密碼:
啟動mysql:
#/etc/init.d/mysql start
啟動成功后查看mysql進(jìn)程信息,獲取mysqld_safe的安裝目錄(非常關(guān)鍵):
#ps -ef | grep -i mysql root 3466 1 0 01:45 pts/1 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/BSC.TEST.pid mysql 3569 3466 16 01:45 pts/1 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/BSC.TEST.err --pid-file=/var/lib/mysql/BSC.TEST.pid root 3597 3105 0 01:45 pts/1 00:00:00 grep -i mysql
可以看到mysqld_safe的安裝位置(上面標(biāo)藍(lán)色部分):/usr/bin/
接著執(zhí)行一下命令停止mysql:
/etc/init.d/mysql stop
以安全方式啟動mysql:
#/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
稍等5秒鐘,然后執(zhí)行以下語句:
#/usr/bin/mysql -u root mysql
注意:mysql與mysql_safe目錄一樣,都是:/usr/bin/下,這個(gè)是通過“ps -ef | grep -i mysql”命令得到的。
出現(xiàn)“mysql>”提示符后輸入:
mysql> update user set password = Password('root') where User = 'root';
回車后執(zhí)行(刷新MySQL系統(tǒng)權(quán)限相關(guān)的表):
mysql> flush privileges;
再執(zhí)行exit退出:
mysql> exit;
退出后,使用以下命令登陸mysql,試試是否成功:
#mysql -u root -p
按提示輸入密碼:
root
但是執(zhí)行查看數(shù)據(jù)庫命令報(bào)錯(cuò):
mysql> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
解決辦法:
mysql> SET PASSWORD=PASSWORD('root');
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
PS:如果在使用mysqladmin的話:
# mysqladmin -u root -p password "test123"
Enter password: 【輸入原來的密碼】
- MySQL8.0.23版本的root密碼重置最優(yōu)解法
- Linux mysql-5.6如何實(shí)現(xiàn)重置root密碼
- 重置mysql的root密碼最簡單的方法
- 解決重置Mysql root用戶賬號密碼問題
- mysql8重置root用戶密碼的完整步驟
- mysql8.0.12如何重置root密碼
- MySQL/MariaDB的Root密碼重置教程
- Mac MySQL重置Root密碼的教程
- windows下重置mysql的root密碼方法介紹
- lnmp重置mysql數(shù)據(jù)庫root密碼的兩種方法
- 詳解如何在Linux中重置MySQL或者M(jìn)ariaDB的root密碼
- MySQL root密碼的重置方法
相關(guān)文章
mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程
這篇文章主要為大家詳細(xì)介紹了mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程,感興趣的小伙伴們可以參考一下2016-07-07
MYSQL時(shí)區(qū)導(dǎo)致時(shí)間差了14或13小時(shí)的解決方法
本文主要介紹了MYSQL時(shí)區(qū)導(dǎo)致時(shí)間差了14或13小時(shí)的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
MySQL中出現(xiàn)lock?wait?timeout?exceeded問題及解決
這篇文章主要介紹了MySQL中出現(xiàn)lock?wait?timeout?exceeded問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
獲取MySQL的表中每個(gè)userid最后一條記錄的方法
這篇文章主要介紹了獲取MySQL的表中每個(gè)userid最后一條記錄的方法,并且針對userid不唯一的情況,需要的朋友可以參考下2015-05-05
通過mysqladmin遠(yuǎn)程管理mysql的方法
在一些特殊場景下,想要遠(yuǎn)程重啟mysql,以便讓某些修改能及時(shí)的生效,但是mysql并沒有提供遠(yuǎn)程重啟的功能,唯一能做的就是遠(yuǎn)程關(guān)閉mysql服務(wù)2013-03-03

