远程连接MySQL服务器
在CentOS虚拟机上安装好了MySQL服务以后,在windows上用Workbench客户端去连接时碰到很多问题,现在把解决过程记录一下。
1.在Windows上ping CentOS IP是可以ping通的,在Workbench上配置好后出现如下提示,
在Windows命令行里输入 telnet 192.168.199.129 3306 执行,也得到:could not open connection to the host, on port 3306 这样的提示。
在网上查了一下,觉得可能是3306端口没有打开,先检查一下3306端口的使用情况,
3306这个端口没有被别的进程占用。然后看看防火墙的情况,CentOS7中防火墙改成了firewall,查看firewall的服务状态,
firewall防火墙正在运行。接下来查询3306端口是否开放,输入 firewall-cmd --query-port=3306/tcp,如果显示的是no,则输入 firewall-cmd --permanent --add-port=3306/tcp 开放3306端口,
重启防火墙,输入 firewall-cmd --reload。
2.完成以上步骤后,再次在Windows命令行中输入 telnet 192.168.199.129 3306 执行,得到类似:host is not allowed to connect mysql 这样的提示。
在网上查了一下,似乎是权限的问题,一般有两个途径,
第一个方法,可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%",
在CentOS虚拟机中进去MySQL,用下面的语句,
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
但是改完了后,还是不行,还是提示 host is not allowed to connect mysql。
试第二个方法,授权,例如你想myuser使用mypassword从任何主机连接到MySQL服务器的话,用下面的语句,
mysql>grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql>flush privileges;
执行完后成功了,可以用workbench连接上MySQL服务了。
===============================================7月4号添加
有时在上述操作都完成后,连接服务器时还是会报错: Authentication plugin 'caching_sha2_password' cannot be loaded, 这是因为mysql 8.0 默认使用 caching_sha2_password 身份验证机制 —— 从原来的 mysql_native_password 更改为 caching_sha2_password。
从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。
方法之一,修改用户的密码和加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
这里的用户名和密码根据实际情况来输入。
远程连接MySQL服务器的更多相关文章
- MySql客户端远程连接MySql服务器
设置MySql服务器以接听端口及以绑定IP地址 MySql服务器默认监听3306端口,确定防火墙以开放此端口. 编辑/etc/my.cnf 添加绑定IP地址.bind-address=192.168. ...
- 解决远程连接mysql错误1130
Mysql远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this ...
- 【爬坑】远程连接 MySQL 失败
问题描述 远程连接 MySQL 服务器失败 报以下错误 host 192.168.23.1 is not allowed to connect to mysql server 解决方案 在服务器端打开 ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
- Navicat for mysql 远程连接 mySql数据库10061、1045错误
原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...
- 通过navicat连接mysql服务器提示SQL Error (1130): Host '192.168.1.100' is not allowed to connect to this MySQL server
新装一个mysql,尝试用通过navicat连接mysql服务器的时候提示: SQL Error (1130): Host '192.168.1.100' is not allowed to conn ...
- 无法远程连接mysql,连接后也没有权限创建数据库
问题现象:无法远程连接mysql,连接后也没有权限创建数据库 问题原因: MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web- ...
- navcat无法远程连接mysql数据库解决办法
navcat无法远程连接mysql数据库,一般都是因为本地ip没有访问权限,服务器上执行下面指令即可解决 mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO ...
- 远程连接MySQL数据库问题总结
远程连接MySQL数据库时,陆陆续续遇到了一些杂七杂八的问题,相信很多人也曾经遇到过这类问题,下面总结归纳在下面,方便以后直接查找. 1:出现ERROR 2003 (HY000): Can't con ...
随机推荐
- java-TreeSet进行排序的2种方式
TreeSet和HashSet的区别在于, TreeSet可以进行排序, 默认使用字典顺序排序, 也可以进行自定义排序 1, 自然排序 2, 比较器排序 自然排序: 1, 需要被排序的类实现Compa ...
- docker 私有仓库的创建
1, 下载registry镜像 sudo docker pull registry 2, 启动镜像 docker run -d --name registry -h registry -p 5000: ...
- 数据序列化导读(1)[JSON]
所谓数据序列化(Data Serialization), 就是将某个对象的状态信息转换为可以存储或传输的形式的过程. 那么,为什么要进行序列化? 首先,为了方便数据存储: 其次,为了方便数据传递. 在 ...
- Nodejs学习笔记(十)—与MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门
简介 MongoDB 开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序:高伸缩性: NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshel ...
- lucene基本原理
1.术语 lucene 在存储它的全文索引结构时,是有层次结构的,这涉及到5个层次:索引(Index):段(Segment):文档(Document):域(Field):词(Term),他们的关系如下 ...
- can/socket can
1. 概念 参考:Linux-CAN编程详解 can引脚: cn2: 15:CAN1_H 19 CAN1_L 根据每组报文开头的 11 位标识符(扩展帧为29位标识符.CAN 2.0A 规范)解释数据 ...
- DotNetBar 使用笔记
1.删除表格的某一行数据,必须是VirtualMode = false 的时候才生效,不然就只是灰色 SuperDBG_Right.PrimaryGrid.SetDeletedRows(SuperD ...
- PHP 类与对象 全解析( 二)
目录 PHP 类与对象 全解析( 一) PHP 类与对象 全解析( 二) PHP 类与对象 全解析(三 ) 7.Static关键字 声明类成员或方法为static,就可以不实例化类而直接访问.不能通过 ...
- 采用DTO和DAO对JDBC程序进行进一步优化
采用DTO和DAO对JDBC程序进行进一步优化 DTO:数据传输对象,主要用于远程调用等需要远程调用对象的地方DAO:数据访问对象,主要实现封装数据库的访问,通过它可以把数据库中的表转换成DTO类 引 ...
- js 中使用 #region #endregion
vs 和 vs code 都是可以支持 js 使用 #region 折叠代码的:code 我就不说了 同理vs 的: 首先下载 vs 插件,插件路径:https://archive.codeplex. ...