当前位置:首页 > 行业动态 > 正文

如何在CentOS 7上配置MySQL服务器?

安装MySQL服务器,需先下载Yum Repository并安装MySQL,然后启动服务、设置开机自启。

CentOS 7是一款广泛使用的Linux发行版,而MySQL是最常用的关系型数据库管理系统之一,在CentOS 7上配置MySQL服务器可以提供稳定、高效的数据库服务,适用于各种应用场景,本文将详细介绍如何在CentOS 7上安装和配置MySQL服务器,包括环境检查、下载安装包、安装MySQL、启动服务、设置开机启动、获取临时密码、修改root密码及允许远程连接等步骤。

如何在CentOS 7上配置MySQL服务器?  第1张

一、安装之前的环境检查

1、更新系统:确保CentOS 7系统已经更新至最新版本,使用以下命令进行系统更新:

   sudo yum update -y

2、检查MySQL或MariaDB进程:检查是否有MySQL或MariaDB进程正在运行,避免版本冲突:

   ps ajx | grep mysql
   ps ajx | grep mariadb

如有,需先关闭进程。

3、检查MySQL安装包:检查是否已安装MySQL安装包,如已安装但未使用过,可删除:

   rpm -qa | grep mysql

4、检查配置文件:检查/etc/my.cnf文件是否存在,如存在则删除:

   rm -f /etc/my.cnf

5、检查客户端和服务端:检查MySQL客户端和服务端是否存在:

   which mysql
   which mysqld

二、下载MySQL安装包

1、访问MySQL官网:前往MySQL官网,找到Download页面。

2、选择安装包:在MySQL Community (GPL) Downloads页面,选择MySQL Community Server,并根据需求选择历史版本或最新版本,对于CentOS 7,建议选择适合的rpm安装包。

3、下载安装包:使用wget命令下载选定的安装包,

   wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

三、安装MySQL

1、安装rpm包:使用rpm命令安装下载的rpm包:

   rpm -ivh mysql57-community-release-el7-10.noarch.rpm

2、安装MySQL服务:进入rpm安装目录(通常是/etc/yum.repos.d/),然后使用yum命令安装MySQL服务:

   yum -y install mysql-community-server

如果遇到GPG验证不通过的错误,可尝试执行以下命令更新GPG密钥:

   rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

四、启动MySQL服务并设置开机启动

1、启动MySQL服务:使用systemctl命令启动MySQL服务,并查看状态:

   systemctl start mysqld
   systemctl status mysqld

2、设置开机自动启动:确保MySQL服务在系统启动时自动启动:

   systemctl enable mysqld

五、获取临时密码并登录MySQL

1、获取临时密码:MySQL安装成功后,会生成一个临时密码,使用以下命令查看临时密码:

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

2、登录MySQL:使用临时密码登录MySQL:

   mysql -u root -p

输入临时密码后即可登录。

六、修改root密码及允许远程连接

1、修改root密码:为了增强安全性,建议修改root密码,首先执行以下命令退出MySQL:

   exit;

然后重新登录并修改密码:

   mysql -u root -p
   ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
   FLUSH PRIVILEGES;

2、允许远程连接:如需远程连接MySQL,需修改MySQL配置文件(通常是/etc/my.cnf),确保bind-address设置为0.0.0.0或注释掉该行,执行以下命令允许root用户从任何主机连接:

   GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'NewPassword' WITH GRANT OPTION;
   FLUSH PRIVILEGES;

七、配置防火墙规则以开放MySQL端口

1、开放MySQL端口:默认情况下,MySQL使用3306端口,为了允许外部网络连接到MySQL服务器,需要配置防火墙规则:

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

2、获取系统的IP地址:使用ifconfig命令获取系统的IP地址,以便后续连接测试:

   ifconfig

八、测试建库建表和字符集

使用Navicat或其他数据库管理工具远程连接到MySQL服务器,进行建库建表操作,并测试字符集编码,创建一个名为testdb的数据库和一个名为testtable的表,并插入一条记录:

CREATE DATABASE testdb;
USE testdb;
CREATE TABLE testtable (id INT PRIMARY KEY, name VARCHAR(255));
INSERT INTO testtable (id, name) VALUES (1, '测试名称');
SELECT * FROM testtable;

如果一切正常,你应该能看到插入的记录,并且字符集编码正确无误。

FAQs相关问题解答

Q1: 如何在CentOS 7上更改MySQL的默认字符集为utf8mb4?

A1: 要更改MySQL的默认字符集为utf8mb4,你需要编辑MySQL配置文件(通常是/etc/my.cnf)并添加或修改以下内容:

[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

保存更改后,重启MySQL服务使配置生效:

systemctl restart mysqld

你还需要确保数据库和表的字符集也设置为utf8mb4,可以在创建数据库和表时指定字符集,

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE TABLE mytable (id INT PRIMARY KEY, name VARCHAR(255)) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

这样,你的MySQL服务器就完全支持utf8mb4字符集了,可以存储和处理更多种类的Unicode字符。

Q2: CentOS 7中如何备份和恢复MySQL数据库?

A2: 在CentOS 7中备份和恢复MySQL数据库通常使用mysqldump和mysql命令行工具,以下是备份和恢复的基本步骤:

备份数据库:

使用mysqldump命令备份整个数据库或特定表,你可以将输出重定向到一个文件中,要备份名为mydatabase的数据库,可以使用以下命令:

mysqldump -u [username] -p[password] mydatabase > mydatabase_backup.sql

这里的[username]和[password]分别是你的MySQL用户名和密码,执行该命令后,mydatabase的所有数据将被导出到mydatabase_backup.sql文件中。

恢复数据库:

要恢复数据库,可以使用mysql命令行工具将备份文件导入到MySQL服务器中,要从mydatabase_backup.sql文件恢复数据到mydatabase数据库,可以使用以下命令:

mysql -u [username] -p[password] mydatabase < mydatabase_backup.sql

同样,替换[username]和[password]为你的实际MySQL用户名和密码,这将把备份文件中的数据导入到指定的数据库中,如果你还没有创建目标数据库,你需要先创建它,或者在导入时不指定数据库名,让mysql命令自动创建。

在进行备份和恢复操作时,请确保你有足够的磁盘空间来存储备份文件,并且在生产环境中进行这些操作时要格外小心,以避免数据丢失或损坏。

0