【超详细】CentOS 7安装MySQL 5.7【安装及密码配置、字符集配置、远程连接配置】

准备工作:CentOS 7系统,并确保可以联通网络

1、获取MySQL 5.7 Community Repository软件包
注意:这里使用的是root用户身份。

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包管理器安装MySQL服务,命令如下:

yum -y install mysql-server


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

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

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


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

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

yum -y install mysql-server


4、操作MySQL服务
如果你没有出现公钥尚未安装的问题,就正常继续往下。

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

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

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


5、查看进程
ps -ef | grep 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

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

vi /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


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

FLUSH PRIVILEGES;


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

9、配置防火墙规则
配置完远程连接权限后,需要配置一下防火墙规则。

首先查看防火墙的状态,确保防火墙处于启动状态。

systemctl status firewalld

接着,配置防火墙规则,命令如下:

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


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

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

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

firewall-cmd --reload

到这里,就需要获取一下系统的IP地址,执行命令如下:

ifconfig


记住上面的IP地址,接下来就使用数据库连接工具Navicat进行连接。

上面的图片中,“主机”输入CentOS系统的IP地址,端口使用3306,因为前面防火墙开放MySQL服务使用的是3306端口,用户名即数据库的用户名,密码即数据库的密码。

保证输入正确后,点击连接测试,软件弹出连接成功。

10、测试建库建表和字符集
使用Navicat远程连接到数据库后,手动进行建库建表的操作,建表如下:

类型注意使用字符串类型,方便后面的测试。

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

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

附:

MySQL版本查看命令

mysql -V

可见版本是5.7.43,其实早在第一步获取软件包的命令中就已经指定了安装MySQL 5.7的版本了。

到这里一切操作就完美结束了!!!


————————————————
版权声明:本文为CSDN博主「rsZheng4916」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Z_r_s/article/details/133951058

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是 MySQL 5.7.37 的安装配置详细教程: 1. 前置条件: 安装 MySQL 5.7.37 需要以下环境:CentOS 7 系统、一个具有管理员权限的用户、yum 命令已经安装。 2. 安装 MySQL 5.7.37: 使用以下命令在 CentOS 7 上安装 MySQL 5.7.37: sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo yum install mysql-community-server 3. 启动 MySQL 5.7.37: 使用以下命令启动 MySQL 5.7.37: sudo systemctl start mysqld 4. 配置 MySQL 5.7.37: 使用以下命令配置 MySQL 5.7.37: sudo mysql_secure_installation 该命令会提示您输入 MySQL root 用户的密码,如果您是第一次使用此命令,则密码为空。然后您需要根据提示进行配置,包括设置 root 密码、删除匿名用户、禁用 root 远程登录等等。 5. 打开 MySQL 5.7.37 防火墙规则: 使用以下命令打开 MySQL 5.7.37 防火墙规则: sudo firewall-cmd --add-service=mysql --permanent sudo firewall-cmd --reload 6. 登录 MySQL 5.7.37: 使用以下命令登录 MySQL 5.7.37: sudo mysql -u root -p 输入之前设置的 MySQL root 用户的密码,即可登录成功。 7. 测试 MySQL 5.7.37: 使用以下命令测试 MySQL 5.7.37 是否已经正常工作: sudo systemctl status mysqld 如果状态为“active (running)”则说明 MySQL 5.7.37 已经成功安装并开始运行了。 希望以上内容对您有所帮助。如果您有其他问题,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值