在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服务器的更多相关文章

  1. MySql客户端远程连接MySql服务器

    设置MySql服务器以接听端口及以绑定IP地址 MySql服务器默认监听3306端口,确定防火墙以开放此端口. 编辑/etc/my.cnf 添加绑定IP地址.bind-address=192.168. ...

  2. 解决远程连接mysql错误1130

    Mysql远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx  is not allowed to connect to this ...

  3. 【爬坑】远程连接 MySQL 失败

    问题描述 远程连接 MySQL 服务器失败 报以下错误 host 192.168.23.1 is not allowed to connect to mysql server 解决方案 在服务器端打开 ...

  4. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

  5. Navicat for mysql 远程连接 mySql数据库10061、1045错误

    原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...

  6. 通过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 ...

  7. 无法远程连接mysql,连接后也没有权限创建数据库

    问题现象:无法远程连接mysql,连接后也没有权限创建数据库 问题原因: MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web- ...

  8. navcat无法远程连接mysql数据库解决办法

    navcat无法远程连接mysql数据库,一般都是因为本地ip没有访问权限,服务器上执行下面指令即可解决 mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO ...

  9. 远程连接MySQL数据库问题总结

    远程连接MySQL数据库时,陆陆续续遇到了一些杂七杂八的问题,相信很多人也曾经遇到过这类问题,下面总结归纳在下面,方便以后直接查找. 1:出现ERROR 2003 (HY000): Can't con ...

随机推荐

  1. mongodb3.4.15集群搭建

    机器:ubuntu 2台 ip: 192.168.0.131 host1 192.168.0.132 host2 安装mongodb sudo apt-key adv --keyserver hkp: ...

  2. Java 生成指定范围的随机数

    /** * 生成[min, max]之间的随机整数 * * @param min 最小整数 * @param max 最大整数 * @return * @author jqlin */ private ...

  3. MySQL中date类型的空值0000-00-00和00:00:00

    1.如果mysql中使用了date类型,并且默认值为'0000-00-00', 那么数据库中的'0000-00-00 00:00:00', '0000-00-00', '00:00:00'这三个值是相 ...

  4. weblogic:local class incompatible: stream classdesc serialVersionUID

    问题:jdk版本不兼容 方法:修改weblogic对应的jdk版本

  5. C语言实现将彩色BMP位图转化为二值图

    CTF做了图片的隐写题,还没有形成系统的认识,先来总结一下BMP图的组成,并通过将彩色图转为二值图的例子加深下理解. 只写了位图二进制文件的格式和代码实现,至于诸如RGB色彩和调色板是什么的一些概念就 ...

  6. 12.Reflect

    Reflect Reflect 概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API.Reflect对象的设计目的有这样几个. (1) 将Object对象的一些明 ...

  7. mysql 用存储过程和函数分别模拟序列

    在其他大部分DBMS里都有序列的概念,即Sequence或Generator. 而mysql里没有,但有时真的很有用.下面分别用存储过程和函数来模拟序列,并用程序模拟并发场景来测试原子性和完整性,是否 ...

  8. ASP.NET Core2,通过反射批量注入程序集

    public void ConfigureServices(IServiceCollection services)        {            string strValue = Con ...

  9. swagger 集成asp.net Core2.1

    首先通过nuget 安装   Swashbuckle.AspNetCore 1.在startup.cs 的configureService services.AddAutoMapper(); serv ...

  10. 【原】Spring activiti 环境搭建之数据库创建

    由于在开发工作流的时候,避免不了要保存一些数据和流程走向;所以在搭建Spring activiti开发环境的时候需要把官方提供的23张表创建到我们的DB,后续的流程都会在这些表中记录. 1.创建代码如 ...