Linux系统上安装部署 MySQL 服务并进行(远程)连接访问
操作手册
演示以 Ubuntu(版本号18.04.3 LTS)为例,在服务器端安装 MySQL(版本号5.7.42)。
在一般的应用场景下,服务器可以是外部服务器也可以是本地虚拟机上的服务器。
服务器端:Linux系统的 MySQL 服务器
客户端:Windows系统下的数据库软件或安装了数据库服务的本地虚拟机、Linux系统
步骤 1:更新包列表
首先,更新包列表以确保获取的是最新的软件包,在命令行中输入:
sudoapt-get update
步骤 2:安装 MySQL 服务器
安装 MySQL 服务器包,图示已安装好:
sudoapt-getinstall mysql-server
步骤 3:启动 MySQL 服务
查看服务状态,确保 MySQL 服务已启动。
/etc/init.d/mysql start #启动
/etc/init.d/mysql stop #关闭
/etc/init.d/mysql status #查看状态
MySQL 服务正常运行
命令行输入 mysql,进入后初始化本地 root 用户:
ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'your_password';#替换your_password
步骤 4:运行安全安装脚本(根据个人情况选择,可跳过)
为了提高 MySQL 安装的安全性,运行 mysql_secure_installation 脚本。该脚本将引导你完成一些基本的安全配置,如设置 root 密码、删除匿名用户、删除测试数据库等:
sudo mysql_secure_installation
步骤 5:验证安装
登录 MySQL 确认安装是否成功:
sudo mysql -u root -p
步骤 6:配置 MySQL 服务端以远程访问
若从其他计算机连接到你的 MySQL 服务器,配置 MySQL 以接受远程连接。编辑 MySQL 配置文件:
sudonano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address 行,原为127.0.0.1,只用于本地通信。将其修改为 0.0.0.0,用于监听所有ip:
重新启动 MySQL 服务:
sudo systemctl restart mysql
在服务器端 MySQL 中创建允许远程访问的用户,给予权限:
CREATEUSER'your_username'@'%' IDENTIFIED BY'your_password';#更改你的用户名与密码GRANTALLPRIVILEGESON.TO'your_username'@'%'WITHGRANTOPTION;
FLUSH PRIVILEGES;
执行完成后可以在sql界面输入如下语句,就能看到刚刚建立的远程用户:
selectuser,host from mysql.user;
步骤 7:验证连接
首先获取服务器端 IP 地址,如果 MySQL 服务器为本地虚拟机,在虚拟机上输入 ifconfig 获取 IP 地址
如果 MySQL 服务器为外部服务器,在命令行中输入 curl ifconfig.me 获取 IP 地址
在远程客户端输入如下命令,其中 your_server_ip 是你的 MySQL 服务器的 IP 地址,remote_user 是你创建的允许远程访问的用户名:
mysql -h your_server_ip -u remote_user -p
或者在类似于DataGrip、Navicat这种数据库可视化管理软件中进行连接:
连接失败处理方法
- 确保 MySQL 服务器处于开启状态。
- 使用 ping 工具测试 MySQL 服务器是否可达。如果不可达,检查服务器是否开启或者查看虚拟机上的网卡配置是否正确。
- 如果可以 ping 通,则检查 3306 端口是否被禁用或者被防火墙阻止访问。
netstat -tulnp | grep mysql
sudo ss -tuln
添加防火墙规则以允许端口 3306:sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT``````sudo iptables-save
- 排除以上问题就可以使用 telnet 连接 MySQL 服务器 3306 端口。对于云服务器若连接不上,则查看服务器实例,在安全组详情页面,检查入站规则,确保允许端口 3306 的入站流量。如果没有规则,添加一条规则,允许端口 3306 的 TCP 流量。
telnet your-ip-address 3306
版权归原作者 脑洞大开1234 所有, 如有侵权,请联系我们删除。