vlambda博客
学习文章列表

如何在纯净的Centos7 中安装 Mysql8.0


打开网卡

ip a
cd /etc/sysconfig/network-scripts/

然后ls命令查看当前目录里的文件

ls

如果看到如下或类似的名字就使用命令修改它

如果找不到这个的话,可能是虚拟机配置了其他网卡,在安装centos7 的时候选择的网卡例如是ifcfg-eth0 那么就选择这个配置文件进入

使用sudo是为了以管理员权限打开并修改

sudo vi ifcfg-ens33

再打开之后,看到红框中的no
修改为yes
保存之后
(如果你说:怎么打不上字?怎么保存?那么请先看Linux的vi使用教程)
如何在纯净的Centos7 中安装 Mysql8.0

用下方命令重启网络服务

service network restart

之后就可以正式部署mysql了


安装Mysql

一、添加yum源


MySQL官网:https://dev.mysql.com/downloads/repo/yum/


进入官网去选择和是的rpm包,包的作用是添加MySQL yum源,请下载对应的yum源,我用的centos7,下载的是 mysql80-community-release-el7-3.noarch.rpm。下载之后通过XFTP上传文件到服务器,然后执行 yum localinstall 命令:

不一定要跟我一样的

yum localinstall mysql80-community-release-el7-3.noarch.rpm

如果权限不够请使用sudo执行,执行完毕过后我们可以使用 cd /etc/yum.repos.d进入到目录中查看文件,发现会有如下两个文件:


mysql-community.repo

mysql-community-source.repo


二、安装


当我们添加好yum源之后就可以执行安装命令:

yum install mysql-community-server

三、启动

安装完成之后使用 systemctl start 执行启动MySQL命令:

systemctl start mysqld.service

使用 systemctl status mysqld.service 可以查看MySQL的运行状态。

关闭命令:

systemctl stop mysqld.service

重启命令:

systemctl restart mysqld.service

四、修改密码

当MySQL服务启动之后我们就需要对密码进行更改:MySQL 默认创建了 root 用户的密码,这个密码打印在 MySQL 的日志文件/var/log/mysqld.log中,可以通过temporary password关键字来找出这个临时的密码。

grep 'temporary password' /var/log/mysqld.log你好

找到密码之后使用改密码连接数据库:

mysql -u root -p

然后修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

执行上述命令密码将被修改为:NewPassword

PS:新版本的MySQL对密码强度有限制,执行到上一步的时候,会提示密码强度不够,则应更改为更高强度的密码。


如果这里想设置更简单的密码或者数据库远程连接不上,在网上查的是,出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.


grep 'temporary password' /var/log/mysqld.log你好mysql> show variables like "%validate%";+--------------------------------------+--------+| Variable_name                        | Value  |+--------------------------------------+--------+
| validate_password.check_user_name    | ON     || validate_password.dictionary_file    |        || validate_password.length             | 8      || validate_password.mixed_case_count   | 1      || validate_password.number_count       | 1      || validate_password.policy             | MEDIUM || validate_password.special_char_count | 1      |+--------------------------------------+--------+#修改全局变量mysql> set global validate_password.length=6;Query OK, 0 rows affected (0.00 sec)mysql> set global  validate_password.policy=0;Query OK, 0 rows affected (0.00 sec)


#重新修改密码,不会再有错误!

mysql> alter user 'root'@'localhost' identified by '123123'; 

如果上述更改密码出现1396错误,那么把更改密码的语句替换为:


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

密码更改完成之后退出mysql重启MySQL服务:


systemctl restart mysqld.service

五、开放远程连接


MySQL默认只对本机开放连接,我们则需要对mysql表的host字段进行修改以支持其他主机连接,%表示所有。


# 先连接数据库

use mysql;

update user set host = '%' where user = 'root';

更改完成之后刷新权限:


flush privileges;

备注:修改端口和防火墙放行

进入mysql数据库,输入show global variables like ‘port’; 查看端口号

mysql> show global variables like ‘port’;±--------------±------+| Variable_name | Value |±--------------±------+| port | 3306 |±--------------±------+1 row in set (0.00 sec)


修改端口,编辑文件,vim /etc/my.conf,添加端口参数:


port=2020


注:2020为我自己修改的端口号!之后连接端口就是2020


然后重启mysql:


systemctl restart mysqld.service

防火墙:


查看防火墙状态:


systemctl status firewalld

如图,防火墙正在运行


开放端口放行:


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

加上–permanet参数永久生效,如果前面修改了端口号,此处的3306就应改成对应的端口号,然后使用命令重新读取防火墙规则:


firewall-cmd --reload

至此,MySQL端口号和防火墙配置完毕,可以使用Navicat等连接mysql了!