【Linux】CentOS7安装MySQL5.7

本人初次在Linux系统中安装MySQL踩过不少坑,特写出此文档避免新手踩坑。
在CentOS7中默认有安装MariaDB,是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。但为了需要,还是要在系统中安装MySQL,而且安装完成后可以直接覆盖掉MariaDB。所以不用在安装前卸载MariaDB。

安装前,请使用root用户登录,并切换目录到/usr/local,命令cd /usr/local

步骤1:下载MySQL官方的 Yum Repository,Mysql版本5.7

YUM( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
它基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,无须繁琐地一次次下载、安装。

使用下面的命令就可以直接下载了安装用的Yum Repository。

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

注意:
第一次安装可能出现以下提示,原因:初次使用CentOS7,没有安装wget。
在这里插入图片描述
安装wget命令: yum install -y wget

在这里插入图片描述

步骤2:安装第一步下载的rpm文件

yum -y install mysql57-community-release-el7-10.noarch.rpm

在这里插入图片描述
步骤3下载量很大,默认yum地址会下载很慢,建议更改为阿里云的yum源,下载速度会大大提高。
使用阿里yum源,解决yum下载过慢的问题

步骤3:安装MySQL服务器

yum -y install mysql-community-server

在这里插入图片描述
这步会花些时间,安装完成后就会覆盖掉之前的mariadb,具体多久根据个人网速决定。

在这里插入图片描述
在这里插入图片描述

步骤4:MySQL数据库设置

1、启动MySql

systemctl start  mysqld.service

2、查看MySql运行状态,如图

systemctl status mysqld.service

在这里插入图片描述

3、找出root用户的密码

此时MySql已经开始正常运行,不过要想进入MySql还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

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

在这里插入图片描述

4、使用初始密码登录数据库

使用如下命令登录数据库:

mysql -uroot -p

敲回车输入密码,输入密码时是不会显示的。登录成功后如图:

在这里插入图片描述

5、修改root用户初始密码

此时不能做任何事情,因为MySql默认必须修改密码之后才能操作数据库,如下命令修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

new password 替换成你输入的新密码。

注意:密码设置必须要大小写字母数字和特殊符号(,/’;:等),不然不能配置成功。

如图所示,密码不符合默认规定会配置失败:

在这里插入图片描述
配置失败的原因是不符合默认规定,如下命令查看MySql默认密码复杂度:

SHOW VARIABLES LIKE 'validate_password%';

在这里插入图片描述

使用此命令,密码规定就只验证密码长度:

set global validate_password_policy=LOW;

更改密码验证长度为6位数:

set global validate_password_length=6;

在这里插入图片描述

6、开启MySql的远程访问

执行以下命令开启远程访问限制(注意:ip是指定可访问MySql的ip地址,如要开启无限制访问的ip可用%代替,password是你设置你的mysql远程登录密码)

grant all privileges on *.* to 'root'@'ip' identified by 'password' with grant option;

然后再输入以下命令(刷新权限,如不执行,更改可能无效):

flush privileges;

执行命令如图:

在这里插入图片描述

步骤5:CentOS防火墙添加开放端口3306

MySql开启远程访问后,并不能真正的实现远程访问,原因是Linux系统中默认有防火墙firewall管理所有的端口,只启用默认远程连接22端口其他都关闭。这一步操作是针对某一个端口,设置其越过防火墙的限制(Tomcat,MySQL同理)。

首先退出MySql,命令\q

1、执行如下命令检验防火墙是否启动,出现running表示正在启动,如果没有出现执行systemctl start firewalld启动防火墙

firewall-cmd --state

2、执行命令,开启3306端口,出现success表示成功

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

3、重新启动防火墙,出现success表示成功

firewall-cmd --reload

4、检查3306端口是否被防火墙开启,出现3306/tcp说明端口被开启

firewall-cmd --permanent --zone=public --list-ports

执行命令如图:

在这里插入图片描述

步骤6:更改MySql字符集为UTF-8

/etc目录下的my.cnf文件下修改文件内容。

在这里插入图片描述
执行如下命令打开文本编辑器:

vi my.cnf

按下键盘i键,进入编辑模式,新增如下代码:

[client]
default-character-set=utf8

character-set-server=utf8
collation-server=utf8_general_ci

新增代码位置如图所示:

在这里插入图片描述
按下键盘Esc键退出编辑模式,输入命令:wq保存并退出

执行如下命令重启MySql:

service mysqld restart

重新登录MySql输入命令status查看状态,发现都为utf8,说明修改成功。

在这里插入图片描述

到此CentOS7安装MySQL5.7全部操作完毕。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网友小锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值