Centos7安装配置Mysql5.7

1.前言

本篇博客将演示在Centos7中安装配置 Mysql5.7(这个版本是当前比较稳定的版本,所以选择这个版本进行演示)下面是本篇博客演示的系统环境,其他版本的安装方法也大同小异,这里小编就不过多的介绍Mysql的其他基础知识了。

// 演示环境
VMware Workstation  16.2.1  // 虚拟机软件
CentOS-7-x86_64-Minimal  // 系统版本
mysql-5.7.26 // mysql版本

2.环境准备

(1)冲突问题

有些版本的Centos会自带一个数据库 mariadb 会跟mysql冲突,有点话要先删除,可以执行以下命令检查系统中是否存在mariadb 的相关安装包。

$ rpm -qa|grep mari

在这里插入图片描述
如果有的话(如上)则执行以下命令进行卸载

$ rpm -e --nodeps mariadb-libs

(2)安装包准备

首先执行以下命令 在 /usr/local 目录下新建一个 mysql 文件夹

$ mkdir /usr/local/mysql

进入 /usr/local/mysql 目录

$ cd /usr/local/mysql

使用以下命令 进行安装包的下载 使用前要确保系统已经安装了wget 如果没有则执行
yum -y install wget 进行安装

$  wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

3.开始安装

上一步我们已经将安装包下载到 /usr/local/mysql 目录下 接下来我们执行以下命令解压安装包

(1) 解压安装包

$ tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

(2) 安装mysql

接下来我们才开始正真安装mysql 依次运行下面几条命令 一定要按照顺序执行

$ rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
$  rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
$  rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm  --force --nodeps

(3) 关于最后一条命令的 --force --nodeps

关于这个参数 小编觉得要单独提出来说一点 很多网上的文章中其实是不带这个 --force --nodeps 参数的 因为不带也可以正常安装 小编这里带上这个参数是为了避免一个错误

// 错误信息如下
warning:mysql-community-server-5.7.26-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
警告:MySQL-server-5.5.46-1.linux2.6.x86_64.rpm:V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY

原因: 这是由于yum安装了旧版本的GPG keys造成的,而解决办法就是在后面加上 --force --nodeps 从 RPM 版本 4.1 开始,在安装或升级软件包时会检查软件包的签名

4.启动Mysql

(1)启动mysql服务

经过上面的安装,如果没有报错的话,证明已经安装成功了,mysql在安装的过程中会自动帮我们注册为系统服务,是不是非常的人性化,服务名叫mysqld。接下来我们就可以执行以下命令进行mysql服务端的启动了。

$ systemctl start mysqld.service

(2)一些常用命令

这里小编还给各位读者朋友准备了一些操作mysqld服务的一些常用命令

$ systemctl daemon-reload //重载系统服务
$ systemctl list-unit-files --type service //查看全部服务命令
$ systemctl status mysqld.service  // 查看mysqld服务状态
$ systemctl enable mysqld.service //设置mysqld开机自启动
$ systemctl disable mysqld.service // 关闭mysqld开机启动
$ systemctl start mysqld.service // 启动mysqld服务
$ systemctl stop mysqld.service // 停止mysqld服务
$ systemctl restart mysqld.service // 重启mysqld服务

5.Mysql配置

(1)查看mysql默认分配的root密码

mysql在安装时会自动给root用户随机生成一个密码,执行以下命令就可以查看分配好的默认密码。

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

在这里插入图片描述

(2)登陆mysql

记录好密码后 则可以执行以下命令进行MySQL的登陆 这里 -u 是指定用户的意思而 -p 就是指定登陆密码的意思,这里密码是依照个人环境而定 这里系统随机生成的密码是: CkphQ0;J>A6o

$ mysql -u root  -p 

在这里插入图片描述
会提示输入密码 这时输入上面查看到的随机密码即可
在这里插入图片描述这样我们就登陆成功了

(3)设置mysql root用户密码

在登陆成功后才可以进行密码的修改 在修改密码之前我们先依次执行以下命令修改一下密码设置策略,这样即使我们设置简单的密码也可以,在实际生产环境中密码一定要设置的比较复杂小编这里只是演示。

// validate_password_policy默认值(MEDIUM)
$ set global validate_password_policy=LOW;
$ set global validate_password_check_user_name=OFF;
$ set global validate_password_length=6;
$ set global validate_password_mixed_case_count=0;
$ set global validate_password_number_count=0;
$ set global validate_password_special_char_count=0;

修改完后执行以下命令修改root用户密码 这里我设置的密码是 123456

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

提示设置成功 运行以下命令时密码生效

$ flush privileges;

在命令行执行以下命令则可以退出客户端 下次登录时就需要我们设置的密码了

$ exit;

(4)关于mysql密码策略

登录后 可以执行以下命令可以查看当前密码初始化的策略

$ SHOW VARIABLES LIKE 'validate_password%';

在这里插入图片描述

validate_password_dictionary_file //指定密码验证的文件路径
validate_password_length //固定密码的总长度
validate_password_mixed_case_count //整个密码中至少要包含大/小写字母的总个数
validate_password_number_count //整个密码中至少要包含阿拉伯数字的个数
validate_password_policy //指定密码的强度验证等级,默认为 MEDIUM
validate_password_special_char_count // 整个密码中至少要包含特殊字符的个数
LOW //只验证长度
MEDIUM // 验证长度、数字、大小写、特殊字符
STRONG // 验证长度、数字、大小写、特殊字符、字典文件

这些都是可以修改的,修改方式就和上面我们修改策略等级一样

6.远程登录

(1)更改访问权限

注意:这一段目前小编安装这个版本的测试了很多次还是无法远程连接,所以建议小伙伴们不要进行下面的操作,不知道是不是我本地的问题,所以我还是保留了以下内容,我新安装的mysql8的版本可以配置远程连接成功,有兴趣的朋友可以期待以下
当前我们启动的mysql服务是只允许本地访问的,因此在远程登录前我们先要更改权限,依次执行以下命令修改当前数据的访问权限。

// 注意上面提示
use mysql;
update user set user.Host='%' where user.User='root';

执行完上一条命令执行下面的命令刷新一下,使修改立即生效

$ flush privileges;

(2)开放端口

Mysql默认远程登录监听的端口是3306所以我们要放行服务器3306的端口,可以执行以下命令放行当前服务器的3306端口

$ firewall-cmd --zone=public --add-port=3306/tcp --permanent  // 放行防火墙8080端口(–permanent永久生效,没有此参数重启后失效)

执行以上命令放行后,需要重启一下防火墙

// 重启防火墙
$ firewall-cmd --reload 

(3)防火墙常用命令

这里小编还给大家提供了一些防火墙服务的常用命令

$ firewall-cmd --state  // 查看防火墙状态
$ systemctl stop firewalld.service  // 关闭防火墙(不推荐使用)
$ systemctl disable firewalld.service  // 阻止防火墙开机启动
$ firewall-cmd --reload // 重启防火墙
$ firewall-cmd --zone=public --list-ports // 查看防火墙所有开放的端口
$ firewall-cmd --permanent --zone=public --remove-port=3306/tcp // 关闭3306端口

完成上面的步骤,如果没有别的问题的话,我们就可以使用工具远程连接我们的服务器了

7.结尾

本篇博客就到此演示完毕了,这是我踩bug最多的一篇博客,特别是远程连接的那个地方,如果有好的解决方案的小伙伴可以在评论区提出来,写这篇博客我学到了很多东西,以后的内容会更加细节,我测试多次没问题才会发文出来,这篇博客的bug卡了我一天。后续将更新更多优质内容,喜欢的小伙伴不妨给小编点个订阅。
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值