mysql 怎么设置允许远程连接数据库

mysql 怎么设置允许远程连接数据库,第1张

首先我们在linux系统上安装mysql,本文默认linux系统可以联网或者已经挂载光盘iso了,我们使用命令 apt-get install mysql-server 命令进行安装,安装完成后,查看mysql是否启动,执行命令 ps -e |grep mysql。

请点击输入图片描述

验证初始是否允许远程连接,由于本次虚拟机IP为192.168.2.120,因此我们执行mysql -h 192.168.20.120 -P 3306 -u root -proot(备注:-proot,root指root账号的密码),可以得到结果连接不上。

假如我们不采用远程连接,可以连接上,命令为:mysql -u root -proot。

请点击输入图片描述

请点击输入图片描述

接下来,我们连接上数据库,执行命令use mysql使用mysql数据库。

并查看用户表信息,执行命令为:select Host,User from user。

执行结果如下图所示。

请点击输入图片描述

通过上面步骤可以得到数据表 user内的值,下面我们对表进行更新记录允许远程访问,

执行命令为:update user set Host='%' where User ='root' limit 1

(该条命令意思为更新user表内User值为root的第一条记录的Host值设置为%)更新完成后,执行上一步查询命令进行验证

请点击输入图片描述

执行强制刷新命令flush privileges

执行完毕后,关闭数据库连接。

请点击输入图片描述

更改mysql安装目录下的my.cnf文件。

一般默认路径在/etc/mysql/下,找到bind-address = 127.0.0.1 这一行,可以对其进行删除,注释或者将127.0.0.1更改为0.0.0.0,修改完毕后保存。

请点击输入图片描述

重启mysql,命令为service mysql restart。进行远程登陆测试,可以看到已经允许远程连接了。

请点击输入图片描述

基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:\x0d\x0a1、登录到MySQL中,为root进行远程访问的授权,执行下面的命令:\x0d\x0a\x0d\x0amysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"\x0d\x0amysql>flush privileges\x0d\x0a\x0d\x0a第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root"\x0d\x0a第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。\x0d\x0a\x0d\x0a2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:\x0d\x0a\x0d\x0a[ruby] view plain copy print?\x0d\x0abind-address = 127.0.0.1 \x0d\x0a\x0d\x0a将其注释掉,保存。\x0d\x0a\x0d\x0a3、重新启动MySQL服务器。执行下面的几条命令即可:\x0d\x0a# /usr/bin/mysqladmin -u root -p shutdown\x0d\x0a# /usr/bin/mysqld_safe &\x0d\x0a\x0d\x0a如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:\x0d\x0a# whereis mysqladmin\x0d\x0amysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz\x0d\x0a\x0d\x0a执行完上面的三步后,就可以通过远程机器连接了数据库了。


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

原文地址: http://outofmemory.cn/zaji/6172175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存