Xshell连接登陆服务器
输入全局命令
php
mysql -u root -p
回车后,输入密码,不显示输入的密码
注意mysql服务状态,是否运行等
修改配置文件my.cnf,这里没找到就找my.ini,指定有一个是对的
php
find / -name my.cnf
接下就是
php
vi /etc/my.cnf
进入了文件如果都是空白也不必惊慌
这里只需要 ,进去按a键修改,复制粘贴图片的代码,按下ESC退出,:w改写:q退出,都是键盘按,别粘贴没用
php
[mysql]
bind-address = 0.0.0.0
改完之后,再去修改mysql里面的配置
php
mysql -uroot -p
use mysql;
select user,host from user;
应该能看到这样的,接下来就是修改,这个后面注释也看看,划一划不差这点时间
php
update user set host = '%' where user = 'root';
select user,host from user; #检验是否修改
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'rootpwd'; #授权远程登录,但有的时候可能依旧权限不够,这个"rootpwd"是远程登录密码,建议就跟你登录mysql一样不混淆
grant all privileges on *.* to root@'%' with grant option;#建议也价格这个授权所有权限
FLUSH PRIVILEGES;
EXIT;
目前只修改第一个就可以
然后重启服务
sudo systemctl restart mysql#或者mysqld
navicate连接:
连接有可能报错2003,注意防火墙问题,测试服务器关闭即可,或者防火墙正常开启状态,并配置端口号
查看防火墙状态:systemctl status firewalld
关闭防火墙:systemctl stop firewalld
如果防火墙为启动状态,则停下防火墙,如防火墙不允许stop,则将3306端口添加iptables
php
#打开iptables文件
vi /etc/sysconfig/iptables
#允许3306端口通过防火墙
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
##注意添加位置不可在文件最末尾,最好在22端口下方
#重启配置
service iptables restart
#查看是否生效
iptables -L -n
MySQL连接navicat报错2003_navicat 2003-CSDN博客
参考:
在Linux的环境下配置安装MySQL,并配置Navicat连接(傻瓜式)(不踩坑式)(小白式)_linux 安装navicat-CSDN博客