Centos 6系统下如何正确安装和配置MySQL数据库?

准备工作

在开始安装之前,确保系统处于一个干净且已知的状态至关重要,这不仅能避免潜在的冲突,还能为后续的配置打下良好基础。

Centos 6系统下如何正确安装和配置MySQL数据库?

通过 SSH 登录到您的 CentOS 6 服务器,执行以下命令来更新系统软件包到最新状态(尽管 CentOS 6 的源已归档,但此步骤仍是良好实践):

yum update -y

检查系统是否已经安装了 MySQL 或 MariaDB 的相关组件,CentOS 6 默认可能携带旧版的 MySQL(如 5.1),这需要与我们将要安装的较新版本(如 5.7)进行隔离。

rpm -qa | grep mysql

如果上述命令输出了任何与 mysql 相关的包,mysql-libs,建议将其卸载,以避免库文件冲突,执行以下命令进行卸载:

yum remove mysql-libs-* -y

至此,系统环境已准备就绪,我们可以进入核心的安装步骤。

安装 MySQL 官方 YUM 源

为了安装较新且受官方支持的 MySQL 版本,最佳方式是添加 MySQL 官方提供的 YUM 仓库,这可以让我们像安装其他系统软件包一样,通过 yum 命令来管理 MySQL。

MySQL 官方为不同的 Linux 发行版提供了仓库安装包,对于 CentOS 6,我们需要下载并安装适用于 EL6 (Enterprise Linux 6) 的发布包。

wget https://dev.mysql.com/get/mysql80-community-release-el6-3.noarch.rpm

(注意:MySQL 官方已停止对 CentOS 6 的更新,该链接可能失效,在真实环境中,可能需要寻找归档的 RPM 包或使用第三方源,如 Remi,此处以官方流程为例进行说明。)

下载完成后,使用 yum localinstall 来安装这个 RPM 包,它会自动向系统的 /etc/yum.repos.d/ 目录中添加 MySQL 的仓库配置文件。

yum localinstall mysql80-community-release-el6-3.noarch.rpm -y

安装成功后,您会看到两个新的仓库文件:mysql-community.repomysql-community-source.repo

选择并安装 MySQL 版本

MySQL 的 YUM 仓库默认启用最新的 MySQL 8.0 版本,CentOS 6 的系统环境和工具链(如 glibc 版本)通常无法兼容 MySQL 8.0,一个稳妥且常见的选择是安装 MySQL 5.7,它在功能、性能和兼容性上取得了很好的平衡。

我们需要编辑仓库配置文件来禁用 8.0 并启用 5.7。

vi /etc/yum.repos.d/mysql-community.repo

在打开的文件中,找到 [mysql80-community] 部分,将其中的 enabled=1 修改为 enabled=0,然后找到 [mysql57-community] 部分,将其中的 enabled=0 修改为 enabled=1,修改后的片段应如下所示:

Centos 6系统下如何正确安装和配置MySQL数据库?

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

保存并退出编辑器,系统在执行 yum install mysql-server 时,将会默认选择安装 MySQL 5.7 版本。

执行安装命令:

yum install mysql-community-server -y

这个过程会下载并安装 MySQL 服务器端、客户端以及所有必要的依赖包,请耐心等待其完成。

启动与安全配置

安装完成后,MySQL 服务并不会自动启动,我们需要手动启动它,并设置为开机自启。

service mysqld start
chkconfig mysqld on

在 MySQL 5.7 中,首次启动时会为 root 用户生成一个临时密码,并记录在错误日志文件中,我们可以通过以下命令查看:

grep 'temporary password' /var/log/mysqld.log

命令输出会包含一串类似 A temporary password is generated for root@localhost: .-t)Jr7>g3kq 的信息,记下这个密码。

运行 MySQL 提供的安全配置脚本,这是安装后必须执行的步骤,它能极大地提升数据库的安全性。

mysql_secure_installation

脚本会引导你完成一系列操作:

  1. 输入之前查看到的临时密码。
  2. 设置新的 root 用户密码(新密码需要包含大小写字母、数字和特殊符号)。
  3. 移除匿名用户。
  4. 禁止 root 用户远程登录(建议选择 Yes)。
  5. 移除 test 数据库。
  6. 重新加载权限表,使更改生效。

全部按照推荐选择 Yes 即可。

配置完成后,你就可以使用新密码登录 MySQL 了:

mysql -u root -p

输入密码,成功进入 MySQL 命令行界面,即代表安装圆满成功。

常用命令与配置文件

为了便于日常管理,以下列出了在 CentOS 6 中管理 MySQL 服务常用的命令和核心配置文件路径。

Centos 6系统下如何正确安装和配置MySQL数据库?

操作类别 命令 / 路径 描述
服务管理 service mysqld start 启动 MySQL 服务
service mysqld stop 停止 MySQL 服务
service mysqld restart 重启 MySQL 服务
service mysqld status 查看 MySQL 服务状态
chkconfig mysqld on 设置 MySQL 开机自启
核心配置 /etc/my.cnf MySQL 主配置文件
日志文件 /var/log/mysqld.log MySQL 错误和启动日志
数据目录 /var/lib/mysql/ MySQL 数据库文件存储目录

相关问答FAQs

如果忘记了 MySQL 的 root 密码,该如何重置?

解答: 重置 root 密码需要以特殊模式启动 MySQL,步骤如下:

  1. 停止 MySQL 服务:service mysqld stop
  2. 使用 --skip-grant-tables 选项启动 MySQL,此模式会跳过权限验证:
    mysqld_safe --skip-grant-tables &
  3. 无密码登录 MySQL:
    mysql -u root
  4. 切换到 mysql 系统数据库并更新 user 表:
    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('YourNewPassword') WHERE User='root';
    FLUSH PRIVILEGES;
    QUIT;

    (注意:在 MySQL 5.7 中,密码字段是 authentication_string,而非旧版的 password。)

  5. 杀死所有 MySQL 进程,然后正常启动服务:
    pkill mysqld
    service mysqld start
  6. 现在即可使用新密码 YourNewPassword 登录。

如何允许其他服务器远程连接到此 MySQL 服务器?

解答: 默认情况下,MySQL 只允许本地连接,要开启远程访问,需要两个步骤:

  1. 授权 MySQL 用户: 登录 MySQL,为特定用户或一个新用户授予从特定 IP(或任意 IP)访问的权限,授权 root 用户从任何 IP () 访问:
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'YourPassword' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

    出于安全考虑,建议将 替换为具体的客户端 IP 地址,而不是开放给所有 IP。

  2. 配置防火墙: CentOS 6 默认使用 iptables 作为防火墙,需要开放 MySQL 的默认端口 3306,编辑防火墙规则:
    vi /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 这一行下方,添加:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

    保存后,重启 iptables 使规则生效:

    service iptables restart

    完成以上两步后,远程客户端就可以通过 mysql -h <server_ip> -u root -p 连接到数据库了。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-09 10:43
下一篇 2025-10-09 10:46

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信