問題如下:從一台機器複製mysql資料庫檔案到另一台機上後,mysql的root@localhost突然間許可權全無, show databases發現只有兩個db:test和information_schema,連mysql資料庫都沒有。賦予root@localhost許可權時提示沒有許可權。花費了大量時間查詢,終於找到:
解決過程簡列如下:
1. 以skip-grant-tables引數登入資料庫
a.記錄當前執行的mysqld的引數,使用命令ps aux | grep mysqld 找到引數
b.停止當前執行的mysql,使用命令 rc.d stop mysqld(archlinux特有,其他linux分發版使用相應命令停止mysqld)
c. 在找到的引數後面新增 --skip-grant-tables,例如我這裡使用引數:
/usr/bin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/mysql/.err --pid-file=/var/lib/mysql/.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --skip-grant-tables
來啟動mysqld,注意啟動後程式不會退出停止,可另開乙個ssh登入到伺服器。
d. 以mysql命令進入資料庫,不加任何引數
2. 賦予root grant許可權和super許可權,再重新整理一下,最後即可賦予root@localhost全部許可權;
update mysql.user set grant_priv='y', super_priv='y' where user='root';
flush privileges;
grant all on *.* to 'root'@'localhost';
mysql被刪庫後的還原
模擬誤刪除的恢復操作 假設備份時間是晚上12點,有人誤操作刪庫時間是早上10點,刪庫後拯救資料庫。改時間date s 2017 12 24 00 00 模擬備份 mysqldump uroot pqb123 s data 3306 mysql.sock master data 2 single tr...
mysql忘記root密碼後重設
一些基本操作 1.關閉mysql服務 mysqladmin u root shutdown 2.開啟mysql服務 mysqld 忘記root密碼後重設 1.關閉mysql服務 2.以跳過許可權表的方式開啟mysql服務 mysqld skip grant table 3.進入mysql環境 mys...
linux安裝mysql後root無法登入
問題 root localhost mysql mysql u root p enter password error 1045 28000 access denied for user root localhost using password no 解決方法 方法一 etc init.d mys...