mysql數據庫連接失敗常見問題小結
1、找到mysql的my.ini文件,在mysqld關鍵字下面添加skip-grant-tables,如下圖所示:
該命令作用是跳過授權表,也就是輸入任意字符賬號密碼都可以進入mysql看到所有數據表。
當忘記賬號密碼時可以使用改命令修改密碼,但是要隨用隨關,重啟mysql,不然服務器上會有很大的風險。
2、重啟MySQL服務
3、在終端中輸入mysql -u root mysql,連接數據庫
4、修改密碼
在終端進入中輸入:
update user set password=password('123456') where user='root';如果有報錯“ERROR 1054 (42S22): Unknown column 'password' in 'field list'”
那么就輸入:update user set authentication_string=password('123456') where user='root';
輸入exit退出,再重新連接數據,即可連接成功。
mysql數據庫只能本機連接,不能遠程鏈接 進入mysql數據庫 $mysql -u root -p >use mysql; 1.>select host,user from user; //查看用戶 MySQL建用戶的時候會指定一個host,默認是127.0.0.1/localhost只能本機訪問; 其它機器用這個用戶帳號訪問會提示沒有權限,host改為%,表示允許所有機器訪問。 2.設置host為% >update user set host='%' where user = 'root'; %為任意用戶都有權限連接,localhost為只能本機連接,配置完host為%這一步就已經能外網訪問了 3.授權用戶具體權限 >grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; >flush privileges;//刷新權限 注意: 一定要重啟mysql: # systemctl restart mysqldqiqushuge_comy用戶有兩個,針對不同的針對不同的主機來控制用戶的訪問的。授權的時候grant all privileges on *.* to 'qiqushuge_com'@'localhost' identified by '123456' with grant option;
可以使用GRANT給用戶添加權限,權限會自動疊加,不會覆蓋之前授予的權限,比如你先給用戶添加一個SELECT權限,后來又給用戶添加了一個INSERT權限,那么該用戶就同時擁有了SELECT和INSERT權限。
查看數據庫授權的方法:
SHOW GRANTS FOR 'root'@'localhost';寶塔沒有放行端口,云服務器沒有添加安全組在寶塔安全里添加端口規則,放行數據庫默認端口3306
在服務器阿里云、騰訊云等放行端口3306
到此這篇關于mysql數據庫連接失敗常見問題的文章就介紹到這了,更多相關mysql數據庫連接失敗內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
