如何让mysql数据库允许被远程连接访问?

您所在的位置:网站首页 procreate绘图笔 如何让mysql数据库允许被远程连接访问?

如何让mysql数据库允许被远程连接访问?

2023-03-24 14:35| 来源: 网络整理| 查看: 265

第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。 \x0d\x0a或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。 \x0d\x0a第二:在系统防火墙添加例外端口:3306,并允许例外。 \x0d\x0a\x0d\x0a错误提示: \x0d\x0aERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server \x0d\x0a的解决方法: \x0d\x0a1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" \x0d\x0a1.mysql -u root -pvmware\x0d\x0amysqluse mysql\x0d\x0amysqlupdate user set host = '%' where user = 'root'\x0d\x0amysqlselect host, user from user \x0d\x0a\x0d\x0a2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 \x0d\x0a\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION\x0d\x0a如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码 \x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION\x0d\x0a\x0d\x0a3.在window自带的防火墙里的例外添加3306端口 \x0d\x0a\x0d\x0a总结: \x0d\x0amysql -u root -p \x0d\x0amysqluse mysql\x0d\x0amysqlselect 'host' from user where user='root'\x0d\x0amysqlupdate user set host = '%' where user ='root'\x0d\x0amysqlflush privileges\x0d\x0amysqlselect 'host' from user where user='root'\x0d\x0a第一句是以权限用户root登录 \x0d\x0a第二句:选择mysql库 \x0d\x0a第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称) \x0d\x0a第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址 \x0d\x0a第五句:刷新MySQL的系统权限相关表 \x0d\x0a第六句:再重新查看user表时,有修改。。 \x0d\x0a重起mysql服务即可完成。首先要确保服务器上安装有MySQL,执行如下命令来检查是否安装了 MySQL(CentOS 7 上是 mariadb-server,CentOS 6 上是 mysql-server,这里以 CentOS 7 为例)

$ rpm -q mariadb-server

如果提示 package mariadb-server is not installed 则说明没有安装 MySQL,需要手动安装。如果出现 mariadb-server-xxx.xxx.xx.el7.x86_64 则说明已经安装。

安装 MySQL 的步骤为:

1.安装 MySQL 和 MySQL 客户端

$ sudo yum -y install mariadb mariadb-server

2.启动 MySQL

$ sudo systemctl start mariadb

3.设置开机启动

$ sudo systemctl enable mariadb

4.设置初始密码

$ sudo mysqladmin -u root password root

这时我们有两种方式来进行修改,这里只用了第一种,就直接将原来的 user='root' and host='localhost' 记录的host修改成%或指定的ip。

1.将host设置为%表示任何ip都能连接mysql

update user set host='%' where user='root' and host='localhost'

2.当然也可以将host指定为某个ip

update user set host='*.*.*.*' where user='root' and host='localhost'

这里将 . . . 换你实际的地址。

3.执行完以上语句,接着执行以下语句 ,刷新权限表,使配置生效

flush privileges

1.检查服务器防火墙3306端口开放了吗,没开放需要去开放

2.检查一下云平台的安全组规则中是否开放了3306端口,如何配置阿里云,这里以阿里云为例( 阿里云添加安全组规则 )

欢迎分享,转载请注明来源:内存溢出

原文地址:https://outofmemory.cn/zaji/6186725.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3