底层视角

洞察事物的本质,启迪人生智慧

CentOS7 环境下安装MySQL 5.7【密码设置、默认字符集、数据库引擎配置、远程连接及防火墙配置】

1.获取MySQL 5.7 Community Repository软件包

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

2.安装软件包

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

3.安装MySQL服务

cd /etc/yum.repos.d 切换到yum软件仓库

yum -y install mysql-server 使用yum包管理器安装MySQL服务,这里安装时间会比较久,安装过程中会报”公钥未安装异
常“ 同时会退出安装,但我们不用着急,按照以下所示步骤操作即可。

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 该命令是导入MySQL软件仓库的GPG公钥。在软件仓库中使用GPG公钥可以确保软件包的完整性和认证,以防止未经授权的修改或潜在的风险

yum -y install mysql-server 再次执行MySql的服务安装。一切顺利的话,执行完成后mysql就算初步安装成功了

4.检查服务状态

systemctl start mysqld 启动mysql服务

systemctl status mysqld 查看服务的状态

systemctl enable mysqld 设置开机自动启动

使用 ps -ef | grep mysql 查看所占用的进程,使用这个命令 rpm -aq grep -i mysql 检查是否已经安装过 MySQL,或
者用于卸载mysql ,命令为:rpm -e --nodeps 上个命令查出的包名

5.登录及密码配置

安装完成后首先要修改密码,不然后期的操作会受到限制

grep 'A temporary password' /var/log/mysqld.log 用该指令查出系统安装过程中随机生成的密码执行数据库登陆命令

mysql -uroot -p 回车后 Enter password: 此处输入或者黏贴随机密码(此处注意,密码是密文且不会显示出来)

ALTER USER USER() IDENTIFIED BY '***********' ; 此处系统会验证密码强度,所以要按照系统要求的强度等级设置12位
长度的密码,推荐一个随机密码生成工具 Password Generator ,也可以降低密码强度等级,但是测
试环境可以, 生产环境不建议这样做 。

降低强度等级的指令如下:

set global validate_password_policy=LOW; 降低为低等级

set global validate_password_length=6; 修改密码位数为6位

完成后exit 退出数据库, 用新密码测试登陆 mysql -uroot -p

6.配置默认字符集编码和数据库引擎

登陆mysql后,查看一下默认的字符集编码 show variables like '%char%';

然后退出MySQL, 停止MySQL服务 systemctl stop mysqld

执行vi /etc/my.cnf 修改配置文件。

在配置文件中找到[client]部分开始的内容,修改如下(如果没有这部分内容,可在结尾处添加):
此处可以根据你的业务需求修改为utf8,utf8_general_ci, 数据库引擎为InnoDB

#字符集编码
[client]
default-character-set=**utf8mb4** 
[mysqld]
character-set-server=**utf8mb4** 
collation-server=**utf8mb4_**general_ci
#数据库引擎
default_storage_engine=**MyISAM**
default_tmp_storage_engine=**MyISAM**
internal_tmp_disk_storage_engine=**MyISAM**`

保存配置文件,并重启MySQL服务

systemctl restart mysqld

7.配置远程连接

首先登陆mysql数据库 mysql -uroot -p 后执行如下命令

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '*****' WITH GRANT OPTION; 此处同样要按照系统要求的强度修改修改密码,否则会出现异常报错。以下命令也可以降低强度和密码位数要求

set global validate password policy=LOW;

set global validate password length=6;

最后执行该命令 flush privileges; 作用是重新加载访问控制权限,以确保最新的授权更改生效

8.配置防火墙规则

配置完远程连接,就需要配置防火墙规则,首先需要查看一下防火墙的状态

systemctl status firewalld 确定防火墙处于启动状态后,执行配置命令

firewall-cmd --zone=public --add-port=3306/tcp --permanent; 该命令的作用是开放TCP端口3306,该端口通常用于

MySQL数据库服务,这是允许从外部网络连接到MySQL服务器的重要一步。

参数–permanent表示永久性配置,即系统重启后仍然保留此规则不变。

firewall-cmd --reload 重新载入防火墙规则,使配置生效。

9.使用数据库连接工具Navicat进行连接测试

Navicat是mysql数据库的远程操作工具,进行连接数据库测试。
Untitled.png

使用Navicat远程连接到数据库后,手动进行建库建表的操作验证字符集配置,类型注意使用字符串类型,方便后面的测试。表格创

建完成后,插入任意中文字符数据。

数据插入后,回到Linux端,在MySQL数据库中查询数据表的数据,以验证中文字符集是否正常,保证中文字符不会出现乱码的情况。

至此,我们的MySql数据库就安装完成了。

本原创文章未经允许不得转载 | 当前页面:底层视角 » CentOS7 环境下安装MySQL 5.7【密码设置、默认字符集、数据库引擎配置、远程连接及防火墙配置】

评论