centos7.0下外部连接不上mysql8.0及navicate连接报错问题
2020-07-04 12:36
99 查看
虚拟机安装了mysql8.0.19,内部可以访问连接,外部navcicate却连接不了
1、使用navicate连接报错,首先检查mysql端口是否开启
发现已经开启
2、再检查服务器的端口是否开启
在cmd窗口或者powershell命令窗口下 执行
telnet 192.168.181.100 3306
此时连接不算,不一定是没开端口,先打开下图telnet 功能,
如果还是不能连接则表示服务器没开3306端口
3、此时进入服务器修改端口配置文件,添加3306的端口开启
vi /etc/sysconfig/iptables
如果没有iptables文件则安装iptables服务
yum install iptables-services
或者命令开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
然后重启防火墙
firewall-cmd --reload
查询端口
firewall-cmd --zone=public --query-port=3306/tcp
删除端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
此时去外部telnet连接3306端口是可以连上的,但是navicate还是连不上mysql
4、现在想起来之前安装的时候忘了授权给root用户在其他地方登陆
授权root用户在其他机器登录
use mysql; select user,host from user; #查询创建的用户 update user set host='%' where user ='root'; #允许远程机器连接 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; #授权 flush privileges; #刷新权限
老版本navicate不支持mysql8.0默认加密方式,假如不想更新navicate,就需要更改密码加密方式
alter user 'root'@'%' identified with mysql_native_password by '你的密码'; # 更改密码的加密方式并更改密码 flush privileges; #刷新权限
5、创建新用户
CREATE USER 'username1'@'%' IDENTIFIED BY '123456'; #创建新用户 GRANT ALL PRIVILEGES ON *.* TO 'username1'@'%' WITH GRANT OPTION;#给新用户授权 flush privileges; #刷新权限
6、更改密码
alter user 'username1'@'%' identified by '123456';
7、假如忘记密码了可以在my.cnf[mysqld]下添加以下代码
skip-grant-tables
这时再重启mysql用 mysql -uroot -p登录时,可直接跳过密码输入,就能进入mysql了,
此时先将密码置为空 ‘’,
update mysql.user set authentication_string='' where user = 'root'; 。
退出删除skip-grant-tables后重启,用空密码登录的话,就可以执行以上(6)步骤了
为什么跳过密码登录后不直接修改密码而是要先将密码修改为’'空再进来修改呢,假如直接修改的话,我这边第6步会直接报语法错误,因为skip-grant-tables不允许直接修改密码,另外通过更新user表的authentication_string字段也不能直接修改密码,因为mysql8.0已经没有oassword(函数了);
相关文章推荐
- 解决mysql的权限问题,navicat连接centos下的mysql服务。外部连接不上mysql服务的问题。
- 外部主机连接mysql服务器延时严重问题
- centos 7 解决mysql外部访问报错问题
- 解决 CentOS 主机上的 MySQL 无法连接的问题
- Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
- 【R】CentOS7下Rstudio实践RMySQL及遇到的问题 三(连接mysql)
- Spring boot连接MySQL 8.0可能出现的问题
- windows系统 mysql 8.0 navicat连接时2059问题
- 阿里云centos系统安装svn,tomcat,mysql外网连接不上问题解决
- navicat连接CentOS的mysql在创建存储过程时出现1146 - Table ‘mysql.proc’ doesn't exist的问题
- centos7 在docker安装mysql,并连接外部数据库的客户端
- MySQL8.0版本连接问题(解决驱动时区报错)
- 解决Sqoop连接本机mysql8.0出现的问题
- navicate连接mysql问题(#1130 - Host 'localhost' is not allowed to connect to this MySQL server)
- 解决Navicate无法连接Mysql问题
- CentOS6.5下MySQL无法远程连接的问题
- mysql 数据库8.0版本,jdbc驱动连接问题
- 外部无法连接kali(内核版本4.6.0)的mysql(版本5.6.30)问题解决方案
- spring boot关于mysql 8.0的各种连接问题
- centos下mysql无法通过localhost连接却可以通过127.0.0.1连接的问题