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

相关推荐

  • CentOS磁力链使用方法及适用场景有哪些疑问?

    CentOS 磁力链:高效下载与部署指南CentOS 简介CentOS(Community Enterprise Operating System)是一款基于Red Hat Enterprise Linux的免费开源操作系统,它以其稳定性和安全性著称,被广泛应用于服务器、桌面和虚拟化环境,磁力链(Magnet……

    2026-01-17
    002
  • CentOS7提示command not found autoconf如何解决?

    在 CentOS 7 这个稳定且广泛使用的服务器操作系统中,从源代码编译安装软件是系统管理员和开发者的常见需求,在这个过程中,autoconf 是一个不可或缺的工具,它属于 GNU 构建系统的核心组件,旨在解决软件在不同类 Unix 系统间移植时的复杂性,本文将深入探讨 autoconf 在 CentOS 7……

    2025-10-06
    0012
  • CentOS 7部署Asterisk时常见问题及解决方法有哪些?

    在CentOS 7系统中部署Asterisk可以为企业或个人用户提供强大的VoIP通信解决方案,Asterisk作为开源的PBX系统,支持多种通信协议,具有高度的可定制性和扩展性,本文将详细介绍在CentOS 7上安装和配置Asterisk的完整流程,帮助用户快速搭建通信平台,系统准备与依赖安装在开始安装Ast……

    2025-12-03
    0010
  • 佛山企业网站建设_企业网站/APP后台

    佛山企业网站建设,专业打造企业网站和APP后台。我们提供一站式服务,包括设计、开发、测试和上线,助力企业提升品牌形象和市场竞争力。

    2024-07-23
    0021

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信