方法一:
1.首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連線mysql資料庫。
因為在重新設定mysql的root密碼的期間,mysql資料庫完全出於沒有密碼保護的
狀態下,其他的使用者也可以任意地登入和修改mysql的資訊。可以採用將mysql對
外的埠封閉,並且停止apache以及所有的使用者程序的方法實現伺服器的準安全
狀態。最安全的狀態是到伺服器的console上面操作,並且拔掉網線。
2.修改mysql的登入設定:
# vi /etc/my.cnf
[mysqld]datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
儲存並且退出vi。
3.重新啟動mysqld
# /etc/init.d/mysqld restartstopping mysql: [ ok ]
starting mysql: [ ok ]
4.登入並修改mysql的root密碼
# /usr/bin/mysqlwelcome to the mysql monitor. commands end with ; or \g.
your mysql connection id
is3 to server version: 3.23.56
type
'help;
' or '\h'
for help. type '\c'
to clear the buffer.
mysql>use mysql ;
reading table information
forcompletion of table and column names
you can turn off
this feature to get a quicker startup with -a
database changed
mysql> update user set password = password ( '
new-password
' ) where user = '
root';
query ok,
0 rows affected (0.00
sec)
rows matched:
2 changed: 0 warnings: 0
mysql>flush privileges ;
query ok,
0 rows affected (0.01
sec)
mysql>quit
bye
5.將mysql的登入設定修改回來
# vi /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables刪除
儲存並且退出vi。
6.重新啟動mysqld
# /etc/init.d/mysqld restartstopping mysql: [ ok ]
starting mysql: [ ok ]
方法二:
如果忘記了mysql的root密碼,可以用以下方法重新設定:
1. kill掉系統裡的mysql程序;
killall -term mysqld 【停掉服務也行,反正先停掉mysql】
2. 用以下命令啟動mysql,以不檢查許可權的方式啟動;
safe_mysqld --skip-grant-tables &
如果找不到,可以啟動mysql服務,再
ps -axu | grep mysql
可以看到 ==》
/bin/sh /phpstudy/mysql/bin/mysqld_safe --datadir=/phpstudy/data --pid-file=/phpstudy/data/vm_113_168_centos.pid
可以看到mysqld_safe 在什麼位置】
3. 然後用空密碼方式使用root使用者登入 mysql;
mysql -u root
4. 修改root使用者的密碼;
mysql> update mysql.user set password=password('新密碼') where user='
root';
mysql>flush privileges;
mysql> quit
重新啟動mysql,就可以使用新密碼登入了
方法三:
1. 停止mysqld;
/etc/init.d/mysql stop
(您可能有其它的方法,總之停止mysqld的執行就可以了)
2. 用以下命令啟動mysql,以不檢查許可權的方式啟動;
mysqld --skip-grant-tables &
3. 然後用空密碼方式使用root使用者登入 mysql;
mysql -u root
4. 修改root使用者的密碼;
mysql> update mysql.user set password=password('newpassword
') where user='
root';
mysql>flush privileges;
mysql> quit
重新啟動mysql
/etc/init.d/mysql restart
(您可能有其它的方法,總之執行mysqld就可以了)
就可以使用新密碼 newpassword 登入了。
切記:
如果你還是看不到許可權,那麼一定要看一下user裡面的使用者許可權分配。
posted @
2016-01-04 23:09
hongxinerke 閱讀(
...)
編輯收藏
linux下啟動與修改mysql的root密碼
環境fedora25 使用yum安裝完成mysql社群版版本後,通過命令 myslq u root p登陸資料庫,提示1045 錯誤,因為密碼不正確。沒辦法,只能修改配置檔案的方法來解決這個問題,該解決方法適用忘記密碼的情況 1 停止mysql服務 sudo service mysql stop 2...
ubuntu下獲得linux命令的root許可權
安裝完ubuntu,預設是普通使用者許可權。習慣了windwos裡面的管理員許可權的使用,不用root許可權感覺不爽。改個檔案很麻煩。但是ubuntu中root沒法登入。應該是沒有設定password。在終端中輸入 sudo passwd root enter new unix password 在...
windows下重置mysql5的root密碼
1 殺死mysqld程序。2 如果你丟失或忘記root密碼,你可以用 skip grant tables重啟mysqld來更改密碼。此段文字引述自mysql 5.1手冊 cmd下 執行 mysqld skip grant tables 3 mysql use mysql database chang...