拥有一台**云服务器** 后,安装数据库通常是部署应用的关键第一步。本文将以最流行的开源数据库MySQL 为例,为您提供一份从零开始的、详尽的MySQL安装教程。内容涵盖安装、初始化、安全配置及远程连接,帮助您快速搭建一个稳定可靠的数据库环境。
一、准备工作
在开始之前,请确保您已经:
-
拥有一台云服务器 :无论是恒讯科技 的云服务器,还是其他服务商,建议使用CentOS 7/8 或Ubuntu 20.04/22.04等主流Linux发行版。
-
具备服务器访问权限:您需要通过SSH工具(如PuTTY、Xshell、Terminal)连接到您的服务器。
-
拥有root或sudo权限:执行安装命令需要较高的权限。
关键词: 云服务器 , MySQL安装教程 , Linux环境
二、安装MySQL服务器
我们将使用MySQL官方提供的Yum源(适用于CentOS/RHEL)或APT源(适用于Ubuntu/Debian)进行安装,这能确保我们获取到最新且稳定的版本。
对于CentOS / RHEL 系统:
-
添加MySQL Yum源
bash
复制
下载sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm -
安装MySQL服务器
bash
复制
下载sudo yum install -y mysql-community-server -
启动MySQL服务并设置开机自启
bash
复制
下载sudo systemctl start mysqld sudo systemctl enable mysqld
对于Ubuntu / Debian 系统:
-
添加MySQL APT源
bash
复制
下载wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb # 在弹出的配置界面直接选择 "OK" sudo apt-get update -
安装MySQL服务器
bash
复制
下载sudo apt-get install -y mysql-server安装过程中,可能会提示您设置root用户的密码,请务必设置一个强密码。
关键词: 安装MySQL服务器 , MySQL安全配置
三、进行初始安全配置
安装完成后,为了数据库的安全,强烈建议运行MySQL自带的安全脚本。
-
获取临时密码(仅CentOS需要)
在CentOS上,MySQL首次启动后会为root用户生成一个临时密码,查看方式如下:
bash
复制
下载sudo grep 'temporary password' /var/log/mysqld.log记下显示的临时密码。
-
运行安全配置向导
执行以下命令:
bash
复制
下载sudo mysql_secure_installation接下来,您会看到一系列提示,请根据情况选择:
-
验证密码插件 :建议输入
y并设置一个强密码策略。 -
更改ROOT密码 :输入
y,然后设置一个新的、高强度的root用户密码。 -
删除匿名用户? :输入
y。 -
禁止root远程登录? :输入
y。这是数据库安全的关键一步,确保root用户只能在服务器本地登录。 -
删除测试数据库? :输入
y。 -
重新加载权限表? :输入
y。
-
完成以上步骤后,您的MySQL已经处于一个相对安全的状态。
关键词: 数据库安全 , MySQL安全配置 , root密码
四、配置远程访问(可选但重要)
默认情况下,MySQL只允许本地连接。如果您的应用程序与数据库不在同一台服务器上,就需要配置远程访问。
警告:开启远程访问会增加安全风险,请务必设置强密码并谨慎操作。
-
登录MySQL
使用root用户登录:
bash
复制
下载mysql -u root -p # 输入您刚设置的root密码 -
创建一个专用用于远程连接的用户
在MySQL提示符下,执行以下命令。请将
'your_strong_password'替换为一个复杂的密码,将'your_local_pc_ip'替换为您应用服务器的IP地址(使用%表示允许任何IP,但极不安全,不推荐)。sql
复制
下载CREATE USER 'remote_user'@'your_local_pc_ip' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'your_local_pc_ip' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT; -
配置防火墙
您需要放行MySQL的默认端口(3306)。
-
如果使用firewalld(CentOS):
bash
复制
下载sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload -
如果使用ufw(Ubuntu):
bash
复制
下载sudo ufw allow 3306/tcp sudo ufw reload
-
-
修改MySQL绑定地址
编辑MySQL配置文件:
bash
复制
下载# CentOS sudo vi /etc/my.cnf # Ubuntu sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf找到
bind-address这一行,将其值从127.0.0.1修改为0.0.0.0。ini
复制
下载bind-address = 0.0.0.0保存后,重启MySQL服务:
bash
复制
下载# CentOS sudo systemctl restart mysqld # Ubuntu sudo systemctl restart mysql
现在,您就可以从指定的IP地址远程连接到这台服务器上的MySQL数据库了。
关键词: 数据库远程访问 , MySQL配置 , 防火墙配置
五、基本操作与故障排除
-
登录MySQL :
mysql -u root -p -
查看所有数据库 :
SHOW DATABASES; -
创建一个新数据库 :
CREATE DATABASE myapp_db; -
选择使用一个数据库 :
USE myapp_db;
常见问题:
-
忘记root密码 :需要停止MySQL服务,并使用
--skip-grant-tables参数启动后进行重置。 -
无法远程连接:请依次检查:① 防火墙规则;② MySQL绑定地址;③ 远程用户的授权IP地址。
结语
通过以上步骤,您已经成功在云服务器 上安装并配置了一个生产环境级别的MySQL数据库。正确的MySQL配置是保障您网站或应用数据稳定的基石。