MySQL:
一開始用Docker安裝的MySQL8,安裝完成后MySQL自己能跑起來,root賬戶可以進去操作,但是局域網(wǎng)電腦用SQLyog和Navicat等工具死活連不上玻孟,報錯誤碼2003,然后我誤以為是Docker的鍋鳍征,就刪了MySQL8容器黍翎,刪了Docker在果Ubuntu上裝了MySQL8,service mysql status
檢查了一下艳丛,MySQL已經(jīng)跑起來了匣掸,用root賬戶也能上,但SQLyog還是連不上氮双,于是在網(wǎng)上兜了一圈碰酝,找到了下面的解決辦法:
配置文件中綁定了回環(huán)地址,所以只能本機訪問數(shù)據(jù)庫戴差,別的ip連不上送爸,找到/etc/mysql/mysql.conf.d/mysqld.cnf
(Docker安裝的話找對應數(shù)據(jù)卷位置,我一開始以為Docker的鍋把Docker刪了直接安裝的MySQL暖释,所以配置文件在這)
把bind-address = 127.0.0.1
用#
注釋掉袭厂。
到這一步之后,再用SQLyog連饭入,還是連不上嵌器,這時候報1130錯誤肛真,還是遠程ip連不上谐丢,說明2003連不上的問題應該是解決了,下來找1130的解決辦法:
思路:在MySQL主機上登錄蚓让,更改 “mysql” 數(shù)據(jù)庫里的 “user” 表里的 “host” 項乾忱,把”localhost”改稱'%' ,就是誰也可以連历极。
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句:以權(quán)限用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內(nèi)容增加主機/IP地址)窄瘟,當然也可以直接增加IP地址
第五句:刷新MySQL的系統(tǒng)權(quán)限相關(guān)表
第六句:再重新查看user表時,有修改
最后重啟Mysql服務趟卸,問題解決蹄葱。
SSH:
Ubuntu16.04虛擬機氏义,用Xshell或secureCRT等工具普通用戶能連上,root連不上图云。
解決辦法:
在配置文件 /etc/ssh/sshd_config 中找到
# Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
修改為
# Authentication:
LoginGraceTime 120
PermitRootLogi yes
StrictModes yes
重啟下SSH惯悠,問題解決。