mysql如何在Linux环境搭建_mysql Linux环境安装方法

首先确认系统环境并更新软件包,Ubuntu使用apt命令、CentOS使用yum或dnf安装MySQL;接着启动MySQL服务并设置开机自启,运行mysql_secure_installation脚本初始化安全配置;然后登录MySQL创建用户和数据库,如需远程访问,修改bind-address为0.0.0.0,授权远程用户并开放防火墙3306端口。

MySQL在Linux环境下的安装与搭建方法

在Linux系统中安装MySQL是搭建Web服务或数据库应用的常见需求。不同Linux发行版的安装方式略有差异,但总体流程清晰。以下以主流的Ubuntu和CentOS系统为例,介绍MySQL的安装与基础配置。

1. 确认系统环境与更新软件包

安装前确保系统已更新到最新状态,避免因依赖问题导致安装失败。

  • 对于Ubuntu/Debian系统:
sudo apt update && sudo apt upgrade -y
  • 对于CentOS/RHEL系统:
sudo yum update -y

(CentOS 8及以上推荐使用dnf)

sudo dnf update -y

2. 安装MySQL服务器

根据Linux发行版选择对应安装命令。

  • Ubuntu/Debian 安装MySQL:
sudo apt install mysql-server -y
  • CentOS/RHEL 安装MySQL:
    默认源可能不包含最新版MySQL,建议先添加官方Yum源。

下载并安装MySQL Yum源包:

wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm
sudo yum install mysql-server -y

3. 启动MySQL服务并设置开机自启

安装完成后启动MySQL,并配置为系统启动时自动运行。

  • 启动服务:
sudo systemctl start mysqld
  • 设置开机自启:
sudo systemctl enable mysqld
  • 查看服务状态:
sudo systemctl status mysqld

若显示“active (running)”,说明服务已正常运行。

4. 初始化安全配置

MySQL提供了一个安全脚本,用于设置root密码、移除匿名用户等。

sudo mysql_secure_installation

执行后会提示:

  • 设置root用户密码
  • 是否移除匿名用户(建议选Yes)
  • 是否禁止root远程登录(生产环境建议No)
  • 是否删除测试数据库(建议Yes)
  • 是否刷新权限表(选Yes)

按实际需求选择即可。

5. 登录MySQL进行基本操作

配置完成后,可使用root账户登录MySQL。

sudo mysql -u root -p

输入密码后进入MySQL命令行,可以创建数据库、用户等。

例如创建新用户:

CREATE USER 'demo'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'demo'@'localhost';
FLUSH PRIVILEGES;

6. 开启远程访问(可选)

如需从其他机器连接MySQL,需做以下配置:

  • 修改MySQL配置文件(通常位于 /etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/my.cnf):

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

bind-address = 0.0.0.0
  • 重启MySQL服务:
sudo systemctl restart mysqld
  • 在MySQL中授权远程用户:
CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'Password123';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%';
FLUSH PRIVILEGES;

同时确保防火墙放行3306端口:

sudo ufw allow 3306/tcp (Ubuntu)
sudo firewall-cmd --permanent --add-port=3306/tcp (CentOS)

基本上就这些。按照上述步骤,你可以在Linux系统上顺利完成MySQL的安装与基础配置。注意定期备份数据,合理管理用户权限,保障数据库安全。