CentOS下重置MySQL的root密碼的教程
本人在CentOS6.4上安裝萬(wàn)mysql后,無(wú)法通過(guò)root進(jìn)入,因?yàn)榘惭b的時(shí)候,并沒(méi)有設(shè)置root密碼,似乎有個(gè)初始隨機(jī)密碼,但是不記得了,太麻煩,直接重置root密碼。
首先,你必須要有操作系統(tǒng)的root權(quán)限了。要是連系統(tǒng)的root權(quán)限都沒(méi)有的話,先考慮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帳號(hào)登錄,然后用命令 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帳號(hào)登錄,然后用命令 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帳號(hào)的權(quán)限。
root下類似于安全模式登錄系統(tǒng),有人建議說(shuō)是pkill mysql,但是我不建議哈。因?yàn)楫?dāng)你執(zhí)行了這個(gè)命令后,會(huì)導(dǎo)致這樣的狀況:
/etc/init.d/mysqld status mysqld dead but subsys locked
這樣即使你是在安全模式下啟動(dòng)mysql都未必會(huì)有用的,所以一般是這樣/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
使用rpm包安裝完mysql后,按照一下步驟重置root密碼:
啟動(dòng)mysql:
#/etc/init.d/mysql start
啟動(dòng)成功后查看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
以安全方式啟動(dòng)mysql:
#/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
稍等5秒鐘,然后執(zhí)行以下語(yǔ)句:
#/usr/bin/mysql -u root mysql
注意:mysql與mysql_safe目錄一樣,都是:/usr/bin/下,這個(gè)是通過(guò)“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ù)庫(kù)命令報(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: 【輸入原來(lái)的密碼】
- MySQL8.0.23版本的root密碼重置最優(yōu)解法
- Linux mysql-5.6如何實(shí)現(xiàn)重置root密碼
- 重置mysql的root密碼最簡(jiǎn)單的方法
- 解決重置Mysql root用戶賬號(hào)密碼問(wèn)題
- mysql8重置root用戶密碼的完整步驟
- mysql8.0.12如何重置root密碼
- MySQL/MariaDB的Root密碼重置教程
- Mac MySQL重置Root密碼的教程
- windows下重置mysql的root密碼方法介紹
- lnmp重置mysql數(shù)據(jù)庫(kù)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í)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
MySQL中出現(xiàn)lock?wait?timeout?exceeded問(wèn)題及解決
這篇文章主要介紹了MySQL中出現(xiàn)lock?wait?timeout?exceeded問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
獲取MySQL的表中每個(gè)userid最后一條記錄的方法
這篇文章主要介紹了獲取MySQL的表中每個(gè)userid最后一條記錄的方法,并且針對(duì)userid不唯一的情況,需要的朋友可以參考下2015-05-05
MySQL?分庫(kù)分表的項(xiàng)目實(shí)踐
當(dāng)用戶量級(jí)上升,寫請(qǐng)求越來(lái)越多,這時(shí)需要用到分庫(kù)分表,本文就介紹了MySQL?分庫(kù)分表的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2022-04-04
通過(guò)mysqladmin遠(yuǎn)程管理mysql的方法
在一些特殊場(chǎng)景下,想要遠(yuǎn)程重啟mysql,以便讓某些修改能及時(shí)的生效,但是mysql并沒(méi)有提供遠(yuǎn)程重啟的功能,唯一能做的就是遠(yuǎn)程關(guān)閉mysql服務(wù)2013-03-03

