新购Linux云服务器后,如何在上面部署MySQL数据库?

在 Linux 云服务器上部署 MySQL 数据库是一个常见的任务。以下是详细的步骤指南,适用于大多数主流 Linux 发行版(如 Ubuntu、Debian、CentOS/RHEL)。


✅ 前提条件

  1. 已登录服务器:通过 SSH 连接到你的 Linux 云服务器。
  2. 拥有 sudo 权限:确保你当前用户具有 root 或 sudo 权限。
  3. 更新系统包索引:
    sudo apt update          # Ubuntu/Debian
    sudo yum update          # CentOS/RHEL

📦 步骤一:安装 MySQL Server

🔹 Ubuntu / Debian 系统

sudo apt install mysql-server -y

🔹 CentOS / RHEL 8+(使用 MariaDB 作为默认替代)

注意:CentOS 8+ 默认不再提供 MySQL,而是使用 MariaDB。如果你坚持用 MySQL,需添加官方 YUM 源。

方法 A:安装 MariaDB(推荐,兼容性好)

sudo yum install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb

方法 B:安装 Oracle MySQL(需配置官方源)

# 下载 MySQL YUM 仓库配置
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm

# 安装 MySQL Server
sudo yum install mysql-community-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld

🔐 步骤二:初始化 MySQL 安全设置

运行安全脚本,设置 root 密码、移除匿名用户等:

sudo mysql_secure_installation

按提示操作:

  • 设置 root 密码
  • 删除匿名账户
  • 禁止 root 远程登录(建议后续单独创建用户)
  • 删除测试数据库
  • 刷新权限表

⚠️ 对于 MySQL 8.x,mysql_secure_installation 可能不会自动设置 root 密码。你可以手动设置:

sudo mysql -u root

进入 MySQL 后执行:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPassword';
FLUSH PRIVILEGES;
EXIT;

🌐 步骤三:允许远程访问(可选但重要)

默认情况下,MySQL 只允许本地连接。如需从外部连接(如本地 Navicat、DBeaver 等),需修改配置并开放端口。

1. 编辑 MySQL 配置文件

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf   # Ubuntu
# 或
sudo nano /etc/my.cnf                          # CentOS

找到 bind-address 行,将其改为:

bind-address = 0.0.0.0

2. 重启 MySQL 服务

sudo systemctl restart mysql    # Ubuntu
sudo systemctl restart mysqld   # CentOS

3. 创建允许远程访问的用户

sudo mysql -u root -p
-- 创建新用户(推荐不要直接用 root 远程)
CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'YourStrongPassword';

-- 授权所有数据库(或指定库)
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;
EXIT;

4. 开放防火墙端口(3306)

Ubuntu (UFW)

sudo ufw allow 3306/tcp
sudo ufw reload

CentOS (firewalld)

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

✅ 步骤四:验证安装

本地测试

mysql -u root -p

输入密码后应能成功进入 MySQL 命令行。

远程测试(从本机或其他机器)

mysql -h <your_server_ip> -P 3306 -u remoteuser -p

如果连接成功,说明部署完成!


🛡️ 安全建议

  1. 禁用 root 远程登录:始终使用专用用户进行远程访问。
  2. 强密码策略:使用复杂密码。
  3. 定期备份:使用 mysqldump 或工具如 Percona XtraBackup。
  4. 启用 SSL/TLS:加密远程连接(可选高级配置)。
  5. 限制 IP 访问:通过云安全组或防火墙仅允许特定 IP 访问 3306 端口。

🧪 常用命令汇总

操作 命令
启动 MySQL sudo systemctl start mysql
停止 MySQL sudo systemctl stop mysql
重启 MySQL sudo systemctl restart mysql
查看状态 sudo systemctl status mysql
登录 MySQL mysql -u root -p
查看版本 mysql --version

❓ 常见问题

Q:忘记 root 密码怎么办?
A:以 skip-grant-tables 模式启动 MySQL,重置密码后恢复正常模式。

Q:如何卸载 MySQL?
A:

sudo apt remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql

如有特定需求(如主从复制、集群、Docker 部署等),可进一步说明,我会提供对应方案。

未经允许不得转载:云知识CLOUD » 新购Linux云服务器后,如何在上面部署MySQL数据库?