navicat连接不上服务器mysql
**背景:**在自己搭建部署项目的过程中,安装mysql之后,想通过本地电脑navicat软件来操作数据库,然后发现连接不上,后面查资料说是因为mysql默认root用户是不允许外部访问的,所以我们需要进行修改。
步骤:
首先我们可以通过grep “password” /var/log/mysqld.log 命令获取初始密码
grep "password" /var/log/mysqld.log
# 拿到密码 登录mysql
mysql -uroot -p
此时想直接操作数据库 show databases; 发现报错,大概意思就是必须重新设置一下密码再操作。
# 设置新的密码为 newPassword.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassword.';
# 此时再进行 show databases;
show databases;
可以看到有一个 mysql的库,里面就是存放的一些sql配置
# 选择库
use mysql
# 选择表
select host, user from user;
# 更改root 用户名 允许所有访问 (生产上不建议,这里我们测试)
update user set host = '%' where user = 'root';
# 查看一下配置 发现修改成功
select host, user from user;
#退出数据库
exit
#重启mysql服务 让配置生效
service mysqld restart
接下来就可以使用navicat连接上数据库了