如何在CentOS或Ubuntu系统上正确安装和配置MySQL服务器?

在CentOS和Ubuntu上安装配置MySQL服务器的步骤如下:

一、CentOS系统安装MySQL

1. 添加MySQL官方仓库

# 下载MySQL官方仓库
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 检查可用版本
sudo yum repolist enabled | grep "mysql.*-community.*"

2. 安装MySQL服务器

# 安装MySQL社区版服务器
sudo yum install mysql-community-server

# 启动MySQL服务
sudo systemctl start mysqld
sudo systemctl enable mysqld

3. 获取初始密码并安全配置

# 查看临时密码
sudo grep 'temporary password' /var/log/mysqld.log

# 运行安全配置脚本
sudo mysql_secure_installation

二、Ubuntu系统安装MySQL

1. 更新包列表并安装

# 更新包列表
sudo apt update

# 安装MySQL服务器
sudo apt install mysql-server -y

2. 启动服务并运行安全配置

# 启动MySQL服务
sudo systemctl start mysql
sudo systemctl enable mysql

# 运行安全配置脚本
sudo mysql_secure_installation

三、MySQL基本配置

1. 登录MySQL

# 使用root登录
sudo mysql -u root -p

2. 创建新用户和数据库

-- 创建新用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'strong_password';

-- 创建数据库
CREATE DATABASE mydatabase;

-- 授予权限
GRANT ALL PRIVILEGES ON mydatabase.* TO 'username'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

3. 配置远程访问(可选)

-- 允许远程连接
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'username'@'%';
FLUSH PRIVILEGES;

修改配置文件允许远程访问:

# 编辑配置文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf  # Ubuntu
sudo vi /etc/my.cnf  # CentOS

# 注释掉或修改bind-address
# bind-address = 127.0.0.1 改为
bind-address = 0.0.0.0

重启MySQL服务:

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

四、防火墙配置

CentOS防火墙

# 开放3306端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

Ubuntu防火墙

# 开放3306端口
sudo ufw allow 3306/tcp
sudo ufw reload

五、常用管理命令

# 查看MySQL状态
sudo systemctl status mysql/mysqld

# 重启MySQL
sudo systemctl restart mysql/mysqld

# 停止MySQL
sudo systemctl stop mysql/mysqld

# 查看MySQL日志
sudo tail -f /var/log/mysql/error.log  # Ubuntu
sudo tail -f /var/log/mysqld.log  # CentOS

六、性能优化建议

  1. 调整配置文件
    
    # 编辑my.cnf配置文件
    sudo vi /etc/my.cnf  # 或 /etc/mysql/my.cnf

根据服务器内存调整

[mysqld]
innodb_buffer_pool_size = 1G # 建议为物理内存的50-70%
max_connections = 100


2. **定期备份**:
```bash
# 使用mysqldump备份
mysqldump -u username -p database_name > backup.sql

注意事项:

  1. 生产环境务必使用强密码
  2. 定期更新MySQL版本
  3. 配置适当的备份策略
  4. 监控MySQL性能指标
  5. 根据应用需求调整配置参数

以上步骤涵盖了在两个系统上安装配置MySQL的基本流程,具体配置可根据实际需求调整。

云服务器