Linux下mysql实现远程连接

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 首先明白一点并不是mysql禁止远程连接,而是MYSQL的账号禁止远程连接。默认情况下,所有账号都是禁止远程连接的。在安装MYSQL的时候,在设置ROOT密码那里有一个CHECKBOX,选中的话就开启了ROOT的远程登陆功能,默认是没被选中的。

首先明白一点并不是mysql禁止远程连接,而是MYSQL的账号禁止远程连接。可能觉得我有点咬文嚼字了,不过我感觉分清这点还是很重要的。默认情况下,所有账号都是禁止远程连接的。在安装MYSQL的时候,在设置ROOT密码那里有一个CHECKBOX,选中的话就开启了ROOT的远程登陆功能,默认是没被选中的。


   利用:


select * frommysql.user


 查出所有的MYSQL用户,可以发现默认情况下,这些记录的host字段的值全都是localhost,这个host字段就是表示哪些机器可以利用此账号连接到本机的MYSQL。localhost当然就代表本机了。所以默认情况下别的机器无法连接。


所以要想开启一个账号的远程连接,只要将这个账号所对应的host字段改成那个IP就行。


   比如:


update user set host = '192.168.230.2' whereuser='ninty';


   执行完此命令以后还要执行:


flush privileges;


来刷新所有数据库用户的权限配置信息让设置及时生效。或者重启MYSQL。


 将ninty这个账号的host改成192.168.230.2,这样192.168.230.2这台机器就允许通过ninty这个账号来连接到本机的MYSQL;不过用别的账号仍然是不行的。将ninty的host改成192.168.230.2,就只有192.168.230.2这台机器可以通过ninty这个账号来连接到本机的MYSQL,其它的机器(包括本机)都无法进行连接。


  如果想将一个账号设置成任何IP都可以登陆,将host改成 % 就行;如果只能192.168.230这个网段的IP可以登陆,那就将host改成:192.168.230.%


一些常见的错误信息:


ERROR 1130 (00000):Host 'AAAAA-8HK8AISO' is not allowed to connect to this MySQL server


AAAAA-8HK8AISO应该是本机的机器名,当MYSQL服务器禁止本机使用相应的账号连接的时候,就会暴这个错误。这时换一个允许本机去连的账号就可以啦。

 

ERROR 1045(28000): Access denied for user 'joejoe1991'@'TQSOFT-8HK8AISO' (using password:YES)


这个错误一般就是用户名或者密码错误,这时应该是允许本机连接的, 否则报的应该是上面那个错。

 

ERROR 2003 (HY000): Can't connect to MySQL server on'192.168.230.2' (10061)


这个应该是网络方面的原因连不到MYSQL,可能是IP或者端口不对,或者服务器没有开启MYSQL或者防火墙挡住了连接 。

 

PS:Linux下安装完MySQL默认用户是没有密码的,开启远程连接之前最好将用户设上密码。

 

一个简单的方法是:


 shell命令下执行mysqladmin -u root password "密码",可以通过访问mysql数据库命令: [root@gaoke~]#mysql -uroot -p → 敲回车 输入密码进行验证。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
26天前
|
网络协议 关系型数据库 MySQL
mysql8.0远程连接权限设置
mysql8.0远程连接权限设置
55 0
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
14天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
17 0
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
95 1
|
6天前
|
存储 关系型数据库 MySQL
Linux | MySQL基础
Linux | MySQL基础
|
6天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
20 0
|
1月前
|
关系型数据库 MySQL Linux
【Linux】在Linux上安装MySQL数据库的步骤
【Linux】在Linux上安装MySQL数据库的步骤
124 0
|
1月前
|
关系型数据库 MySQL Linux
【VMware安装+centos 7Linux系统+MySQL安装】——在Linux系统中安装MySQL步骤,以及遇见的各种问题(如:vm两个虚拟网卡消失、vm网络适配器有感叹号等等)
【VMware安装+centos 7Linux系统+MySQL安装】——在Linux系统中安装MySQL步骤,以及遇见的各种问题(如:vm两个虚拟网卡消失、vm网络适配器有感叹号等等)
181 0
|
1月前
|
关系型数据库 MySQL Linux
Linux服务器安装MySQL
Linux服务器安装MySQL
|
1月前
|
网络协议 Ubuntu Linux
「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接
「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接
122 0