我果然對於linux下的開發還很菜啊,繼續記錄學習mysql中出現的問題。
由於昨天根據網上教程把mysql的root(localhost)密碼改了不能登陸了,又根據網上的教程把User=‘’的用戶也刪掉了,最後當我開始明白mysql關於用戶和權限的一些東西的時候,我mysqld_safe --user=mysql --skip-grant-tables --skip-networking &之後進入mysql查看系統的用戶,發現已經沒有主機名為localhost的用戶了。。。
雖然其他主機名的root用戶密碼已經都被設置成了“*23AE809DDACAF96AF0FD78ED04B6A265E05AA257”就是加密了的“123”,但是我嘗試使用這些用戶身份登錄發現也沒有真正的root權限。自己插入一條主機名為localhost的root用戶,發現權限也有問題。。。
干脆刪掉mysql再重裝好了。復習一下刪除過程:
刪除軟件包:rpm -e mysql-server //這個命令是有順序的,一定要先刪不依賴於別的軟件包的軟件包
刪除軟件包:rpm -e mysql******* //不然系統會提示無法刪除,我印象中依次刪了4個軟件包
刪除軟件包:rpm -e l********
刪除軟件包:rpm -e mysql*******
妹子家裡網速很好,於是直接 yum install mysql 下載速度600kb~~~~
噢,還有yum install mysql-devel 和 yum install mysql-server 幾十秒全都裝好了
啟動mysql:service mysqld start……啊嘞,出現了:Redirecting to /bin/systemctl start mysqld.service
Job failed. See system journal and 'systemctl status' for details. 好吧去看看日志:/var/log/mysqld.log 日志說:mysqld_safe A mysqld process already exists。。。。
我真是不懂這是什麼東東,只好ps -A|grep mysql 然後再 kill -9 進程號。
再mysql -u root,嗯,終於又登陸到mysql了,不過還得設置個密碼呢。
剛剛發現之前學習的網上的update user set password = '123456' where user ="root" //這樣寫是錯的,密碼其實不是123456
應該為update user set password = password ('123456') where user = "root";
restart一下mysql服務,用 root 和密碼 123 登陸成功, 再:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
來賦予所有用戶遠程連接權限,終於成功了(*^__^*)