远程连接MySQL

远程连接MySQL

在我们初学MySQL的时候,一般都是在本地安装MySQL数据库,并且使用命令行或者Navicat连接,所以往往会忽略掉如何远程连接MySQL这个知识点,这太过局限,然而在实际运维中,访问数据库通常是远程的方式(抛开网络安全问题),大大提高开发效率。但MySQL默认是不开起远程连接的,所以需要一定的配置。

tips:

​ 1.当前教程需要读者对MySQL的基础有所了解。

​ 2.本教程使用Windows和Linux Ubuntu演示,CentOS用户在重启MySQL服务器会有所不同。

一、开启远程连接

  • 查看MySQL是否在运行

    • 请确保你的MySQL服务是启动状态,如果不确定是否启动,则可以尝试登录进MySQL。
  • 开启远程连接

    • Windows开启方式:
      • 找到my.ini配置文件,通常在C:\ProgramData\MySQL\MySQL Server X.X\(其中X.X是你所使用的MySQL数据库版本),在该目录下会有my.ini配置文件。
      • 打开该文件,在[mysqld]部分找到bind-address,默认的值是127.0.0.1,我们需要修改为0.0.0.0。若在[mysqld]部分中没有bind-address,那就自己创建一个,创建方式为:bind-address = 0.0.0.0,配置完后保存即可。
    • Linux开启方式:
      • 使用cat命令查看一下是否是我们需要修改的配置文件:sudo cat /etc/mysql/my.cnf,接下来配置方式和Windows方式相同,修改/创建bind-adress并且修改值
      • 当出现!includedir这些内容时,那么可能是采用引用的方式配置,这时需要进入/etc/mysql/mysql.conf.d目录下,进入mysqld.cnf文件下去修改bind-adress值。

二、重启MySQL服务

  • Windows下重启

    net stop mysql80 		# 关闭MySQL服务
    net start mysql80		# 启动MySQL服务
    
  • Linux下重启

    sudo systemclt restart mysql.service # 若是非Ubuntu系统,重启方式可能不太一样
    

三、创建新的MySQL用户

由于MySQL的root用户是比较敏感的身份,这里建立新的用户来进行远程登录。

  • 创建新用户

    CREATE USER 'your_name'@'%' IDENTIFIED BY 'your_password';
    
    • 该命令为创建一个名为your_name的用户,%为任意远程主机都可连接(如果只想让指定主机连接,那就可以设置该主机IP进去),your_password为用户的密码。用户名和密码根据你的方式来。
  • 授予权限

    GRANT ALL PRIVILEGES ON *.* TO 'your_name'@'%';
    
    • 该命令中,GRANT ALL PRIVILEGES是授予your_name这个用户的所有的权限(具体权限可根据你的方式来);ON *.*是对所有数据库和所有的表生效;TO 'your_name'@'%'表示将权限授予给your_name的用户,%表示该用户可以从任何IP地址连接到数据库。
  • 重新加载授权表

    FLUSH PRIVILEGES;
    
  • 查看用户是否创建成功。

    SELECT host,user FROM mysql.user
    
    • 如果你创建的用户被显示出来并且host字段为%,那么你的用户就创建完成了。

四、远程连接

远程连接必须确保你能跟服务器通信,并且3306端口(默认端口)未被防火墙阻拦。

  • 使用MySQL数据库命令连接

    mysql -h <MySQL Servers IP> -u <USER> -p
    
  • 使用Navicat连接

    • 打开Navicat,添加新的连接,选择MySQL,连接名自定义,主机名设置为创建好的用户,端口默认是3306,密码为你设置好的密码,点击连接即可。
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值