CentOS7安装MySQL5.7

作者:Administrator 发布时间: 2024-11-21 阅读量:11 评论数:0

CentOS7安装MySQL5.7

需求

需要安装Mysql5.7版本恢复原来的数据目录,这里是全新安装

环境

  • 系统 CentOS 7.9.2009
  • 数据库版本 MySQL5.7.44

开始安装

1、获取MySQL 5.7 Community Repository软件包

注意:这里使用的是root用户身份。

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

image

2.安装软件包

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

image

3.安装MySQL服务

yum -y install mysql-server

image
image
这里因为软件包比较大,可能需要一点时间。

到这里,如果安装的时候出现公钥尚未安装的问题,请不要着急,根据下面的步骤来解决问题。如果没有问题的话则直接进行步骤4。

image
首先,执行上面的命令;该命令的作用是导入MySQL软件仓库的GPG公钥。
在软件仓库中使用GPG公钥可以确保软件包的完整性和认证,以防止未经授权的修改或潜在的风险。

紧接着,重新执行一下安装服务的命令。

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

之后就可以了
image

4.操作MySQL服务

如果你没有出现公钥尚未安装的问题,就正常继续往下。

首先,启动MySQL服务,并设置开机自动启动。

# 启动服务
systemctl start mysqld
# 查看状态
systemctl status mysqld
# 设置开机自动启动
systemctl enable mysqld

如果启动状态如下,则说明MySQL服务已经正常运行了。
image

5.查看进程和已安装rpm的安装包

ps -ef | grep mysql
rpm -qa|grep -i mysql

6.登录及密码配置

1.首先,查看安装后随机生成的MySQL密码

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

这里的密码建议先进行复制,后面直接黏贴,不推荐手动输入
2.接着,登录MySQL数据库

mysql -uroot -p

在上面的图片中,在输入密码处黏贴前面复制的密码

特别注意:由于密码不是明文显示的,所以不会直接显示,不要以为是键盘坏了或者什么情况
3.修改验证密码的强度等级和长度

由于不支持设置简单的密码,如果出于学习的目的,想设置简单好记的密码,就需要进行下面的操作

建议:工作环境下不建议设置简单密码

首先执行修改验证密码强度等级的命令,将等级设置为LOW,也就是低级的。命令如下:

set global validate_password_policy=LOW;

接着设置密码的长度,这里需要设置多少位数的简单密码就设置多少位数,我这里设置密码为123456,所以设置长度为6

set global validate_password_length=6;

到了这里,就能执行设置密码的命令了

ALTER USER USER() IDENTIFIED BY '123456';

最后,退出数据库,尝试用设置的新密码进行登录

重新进入数据库,可以执行一下简单的命令测试一下

show databases;

7、字符集编码配置

首先,查看一下默认的字符集编码;

show variables like '%char%';
接着,退出MySQL,停止MySQL服务,再编辑配置文件

systemctl stop mysqld

紧接着,开始修改配置文件

vim /etc/my.cnf

在配置文件中找到[client]部分开始的内容,修改如下

# [client]
# 设置字符编码
default-character-set=utf8
# [mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

如果没有这一部分,则直接进行添加。
修改完成后,保存配置文件,并重启MySQL服务

systemctl restart mysqld

这里暂时跳过编码测试的情况,后面远程连接后直接测试中文的情况

8、配置远程连接

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

这个SQL命令的作用是授予具有完全权限的root用户从任何地方连接到数据库,密码为123456,并允许其执行任何数据库操作。这是非常强大的权限,因此在生产环境中应该小心使用,并确保只授予必要的权限以减少潜在的安全风险。

上面的命令如果执行出现如下错误,则参考下方的图片进行处理即可

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
image

最后,执行一下下面的命令

FLUSH PRIVILEGES;

该命令是一个SQL命令,它的作用是重新加载访问控制权限,以确保最新的授权更改生效

9.关闭防火墙

systemctl stop firewalld
setenfore 0
vim  /etc/selinux/config
disabled

也可以保持开启firewalld,添加端口

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

这个命令的作用是将TCP端口3306添加到公共防火墙,3306端口通常用于MySQL数据库服务,这是允许从外部网络连接到MySQL服务器的重要一步。

其中,参数–permanent表示设置为永久性的,即系统重启后仍然保留此规则

开放3306端口后,重新载入一下防火墙规则,执行如下命令:

firewall-cmd --reload

10.查看版本

MySQL版本查看命令

mysql -V
mysql  Ver 14.14 Distrib 5.7.44, for Linux (x86_64) using  EditLine wrapper

参考链接:https://blog.csdn.net/Z_r_s/article/details/133951058

评论