Linux下远程连接MySQL数据库

本文详细介绍了如何在Linux环境下配置MySQL服务器以支持远程连接,包括授予远程访问权限、配置my.cnf文件以及重启服务等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

踩坑笔记

估计搞了一个多小时才把这个远程连接搞好。一台本地电脑,一台云服务器,都是linux系统。

步骤

  1. 在服务器端开启远程访问
    首先进入mysql数据库,然后输入下面两个命令:
    grant all privileges on *.* to 'root'@'%' identified by 'password';
    flush privileges;
    • 第一个*是数据库,可以改成允许访问的数据库名称
    • 第二个* 是数据库的表名称,*代表允许访问任意的表
    • root代表远程登录使用的用户名,可以自定义
    • %代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
    • password代表远程登录时使用的密码,可以自定义
    • flush privileges;这是让权限立即生效
  2. 修改my.cnf配置文件
    这个是mysql的配置文件,如果你无标题文章找不到在哪里的话,可以输入find /* -name my.cnf 找到
    通过vim编辑该文件,找到bind-address = 127.0.0.1这一句,然后在前面加个#号注释掉,保存退出

  3. 重启服务
    service mysql restart

  4. 在本地远程连接
    在终端输入:
    mysql -h 服务器ip地址 -P 3306 -u root -p
    然后输入密码即可。
    root是第1点设置的用户名,密码也是第1点设置的密码

一些细节

在网上找了很多文章,说要开启3306端口才能连接,但是我开启了却还是无法连接,后来又找到了一些文章,说要更改my.cnf,也就是上面的第2点,更改了然后重启服务器就可以了。

刚刚在另外一台服务器上面试了一下,没有配置过端口,通过上面三步,很快就连上了。

所以第二点非常重要,基本上每个人装mysql的时候都会去配置那个文件,因为字符集需要配置。所以肯定有那个文件的,用find命令找找就行了。

### 如何从远程连接Linux上的MySQL数据库 为了实现从远程位置访问安装在Linux服务器上的MySQL数据库,需遵循一系列配置步骤来确保安全性和功能性。 #### 配置防火墙允许外部访问 通常情况下,默认的安全策略会阻止来自外界对于MySQL端口(默认为3306)的请求。因此,在Ubuntu环境中可以利用`ufw`(Uncomplicated Firewall)命令开启必要的端口以便接收远端传入的数据包[^2]: ```bash sudo ufw allow 3306/tcp ``` #### 修改MySQL绑定地址 默认设置下,MySQL仅监听本地回环接口(`127.0.0.1`)。要让其接受远程连接,则需要编辑MySQL配置文件(`/etc/mysql/my.cnf` 或 `/etc/mysql/mysql.conf.d/mysqld.cnf`)中的bind-address参数,将其更改为服务器的实际IP地址或是通配符`0.0.0.0`以开放所有网络接口给MySQL服务: ```ini bind-address = 0.0.0.0 ``` 完成更改之后记得重启MySQL服务使改动生效: ```bash sudo systemctl restart mysql.service ``` #### 创建具有远程权限的新用户并授予权限 即使完成了上述操作,仍然无法直接通过root账户进行远程登录因为这存在安全隐患。最佳实践建议创建一个新的专用账号用于特定应用或客户端程序,并赋予相应的表级/库级别的读写权限。假设新建用户名叫'remote_user'密码设为'secure_password': ```sql CREATE USER 'remote_user'@'%' IDENTIFIED BY 'secure_password'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%'; FLUSH PRIVILEGES; ``` 以上SQL语句定义了一个能够匹配任何主机名 '%' 的新用户,并给予该用户全局范围内的全部权限;实际部署时应根据需求调整授权对象以及具体权限级别[^3]。 #### 测试连接 最后一步是在另一台机器上尝试建立与目标MySQL实例之间的TCP/IP链接。这里推荐使用官方提供的命令行工具mysql-client来进行初步验证工作。如果一切正常的话应该可以看到熟悉的欢迎界面提示成功接入到了指定的目标数据库中去了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值