# MySQL 安装指南

本文提供了在CentOS 7上安装MySQL 8的详细步骤和说明。

# 准备工作

在开始安装之前,请确保您已满足以下要求:

  • 运行CentOS 7操作系统的服务器或虚拟机
  • 具有管理员权限的用户
  • 稳定的网络连接

# 步骤 1:更新系统

在安装MySQL之前,首先更新系统以获取最新的软件包和安全补丁。执行以下命令:

sudo yum update -y

# 步骤 2:添加MySQL Yum存储库

MySQL官方提供了一个Yum存储库,用于安装最新版本的MySQL。执行以下命令添加MySQL Yum存储库:

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 步骤 3:安装MySQL服务器

现在,可以使用Yum包管理器安装MySQL服务器。执行以下命令:

sudo yum install mysql-server -y

安装过程中,系统将自动下载和安装MySQL服务器及其依赖项。

# 步骤 4:启动MySQL服务

安装完成后,启动MySQL服务并将其设置为开机自启动。执行以下命令:

sudo systemctl start mysqld
sudo systemctl enable mysqld

MySQL服务将启动,并在系统重启后自动启动。

# 步骤 5:获取初始密码

安装MySQL后,系统会生成一个初始密码。您需要获取此密码以进行后续配置。执行以下命令:

sudo grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}'

记录下输出的初始密码,稍后将用到。

# 步骤 6:设置MySQL root密码

登录MySQL并设置新的root密码。执行以下命令:

sudo mysql_secure_installation

按照提示进行操作,包括输入初始密码、设置新密码、删除匿名用户、禁止远程root登录等。

# 步骤 7:验证MySQL安装

使用新设置的root密码登录MySQL,并验证安装是否成功。执行以下命令:

mysql -u root -p

输入您设置的新密码后,应该能够成功登录到MySQL服务器。

# 配置MySQL

  1. 编辑MySQL配置文件:使用文本编辑器打开MySQL的配置文件/etc/my.cnf,根据需求进行配置调整。例如,您可以修改max_connections参数来限制同时连接到MySQL的最大客户端数量。

    sudo vi /etc/my.cnf
    
  2. 重新启动MySQL服务:在修改配置文件后,重新启动MySQL服务使更改生效。

    sudo systemctl restart mysqld
    
  3. 调整内存和缓冲区设置:根据服务器的可用内存和数据库负载情况,调整MySQL的内存和缓冲区设置。您可以修改innodb_buffer_pool_size参数来调整InnoDB缓冲池的大小,以提高性能。

    sudo vi /etc/my.cnf
    
  4. 监控和日志记录:启用MySQL的监控和日志记录功能,以便及时发现和解决潜在的问题。您可以配置慢查询日志、错误日志和访问日志等。

    sudo vi /etc/my.cnf
    

# 安全性设置

  1. 创建新的MySQL用户:避免使用root用户进行常规操作,创建一个新的MySQL用户,并为其分配适当的权限。使用以下命令登录MySQL并创建新用户:

    mysql -u root -p
    
    CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

    new_user替换为新用户的用户名,将password替换为用户的密码。

  2. 禁止远程root登录:为了增强安全性,禁止远程主机使用root账号登录MySQL。编辑MySQL配置文件/etc/my.cnf,添加以下行:

    sudo vi /etc/my.cnf
    
    [mysqld]
    skip-networking
    

    保存并关闭文件后,重新启动MySQL服务。

    sudo systemctl restart mysqld
    
  3. 防火墙设置:如果您的服务器上启用了防火墙,确保打开MySQL服务所使用的端口(默认为3306)以允许远程访问。

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

这些是一些常见的配置和安全性设置建议,可以根据您的具体需求进行调整和扩展。请注意,在进行任何更改之前,请备份重要的MySQL数据和配置文件。

# 结论

恭喜!您已成功在CentOS 7上安装MySQL 8。您现在可以使用MySQL来创建和管理数据库。

如果您需要进一步配置和优化MySQL服务器,可以参考MySQL官方文档和其他资源。