MySQL 8.0.20安装指南(针对CentOS 7 x86_64)
MySQL 8.0.20远程安装指南(CentOS 7 x64)
一、前言
路总是有人走的,不然就只是一片土地。
总而言之,安装MySQL就是,先下载MySQL的Server端rpm包和MySQL的软件源rpm包,然后双击安装,这个过程通常会卡很久,很慢,真的。
之后就是启动MySQL服务,获得临时密码然后修改root密码,配置远程访问,最后打开3306端口就可以了。
二、环境 / 准备
- VMware 15 Pro
要求:与主机网卡进行桥接,使用vmnet0服务,便于之后主机直接与虚拟机进行通信。
官方传送:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html - CentOS 7 x64
版本:CentOS-7-x86_64-DVD-1503-01.iso
官方传送:http://isoredirect.centos.org/centos/7/isos/x86_64/
镜像源:阿里云CentOS镜像源 - Navicat Premium 12
试用版即可,只需要验证下MySQL是否成功安装。
官方传送:https://www.navicat.com.cn/download/navicat-premium - MySQL软件源的.rpm
官方传送:https://dev.mysql.com/downloads/repo/yum/
选择 Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package —— 25.4KB
下载传送:https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm - MySQL Server端.rpm
官方传送:https://dev.mysql.com/downloads/mysql/
选择 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Package MySQL Server —— 488.3MB
下载传送:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-community-server-8.0.20-1.el7.x86_64.rpm
三、安装MySQL
先将下载的两个rpm移到虚拟机的/Downloads目录下,然后升级下yum yum -y update
。
能直接用鼠标点就不要用命令行CLI。
(一)安装MySQL软件源
对应RPM——mysql80-community-release-el7-3.noarch.rpm
方式一:双击安装……
方式二:命令行安装
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
(二)安装MySQL Server
对应RPM——mysql-community-server-8.0.20-1.el7.x86_64.rpm
方式一:双击安装……(这个真的很慢,Take easy)
方式二:命令行安装……(会提示缺少其他包)
(三)启动并检查MySQL服务
启动服务命令:service mysqld start
返回:Redirecting to /bin/systemctl start mysqld.service
查看MySQL服务启动状态命令:service mysqld status
返回:
至此,MySQL已经安装完成了,接下来的是初始化MySQL。
四、初始化MySQL
(一)获取临时密码
MySQL的root随机产生的临时密码位于 /var/log/mysqld.log
,我们需要获得这个临时密码。
命令:grep 'temporary password' /var/log/mysqld.log
得到的随机产生的临时密码就是:4i+pio1rerE9
(二)修改MySQL的root用户密码
根据刚刚得到的临时密码,登陆进MySQL:mysql -u root -p
修改本地root密码:
命令:alter user 'root'@'localhost' identified by 'Hdmi-3230370039'
注意,如果此时密码太过简单,就会那啥,报错。
至此,本地root
完成密码设置。
(三)授权root远程访问
因为某些情况下需要其他机器远程登陆,所以必须要给权限,允许其他机器远程登陆。
MySQL的某些版本默认开启了允许,但最新版本出于安全考虑默认关闭该机制。
一起开启吧(不管你开了还是关了)!
1. 创建任意IP均可登陆的root
不会覆盖本地的root,放心食用,也就是说,密码可以不同于本地的root密码。
命令:create user 'root'@'%' identified by 'Hdmi-abcde12345';
2. 赋予该root所有权限
虽然但是很不安全,不得不,因为生活所迫。
命令:grant all privileges on *.* to 'root'@'%' with grant option;
(四)配置远程访问root的密码规则
因为navicat软件在MySQL 8以前用的加密规则是mysql_native_password,而MySQL 8以后的规则是
caching_sha2_password,
所以报错2059。
这里对mysql用户登录的加密规则修改为mysql_native_password
。
命令:alter user 'root'@'%' identified with mysql_native_password by 'Hdmi-abcde12345';
五、防火墙规则配置
(一)查看防火墙状态
命令:firewall-cmd --state
发现是running
就对了,不是的话参考这个链接把防火墙开启:https://blog.****.net/u014079773/article/details/79745819
(二)开放MySQL服务
根据CentOS版本不同,开启端口方式也不一样,CentOS 6是iptables
,CentOS 7是firewall
。
1. 查看服务是否已启动
命令:firewall-cmd --query-service=mysql
2. 永久开放MySQL服务
命令:firewall-cmd --add-service=mysql --permanent
(三)开放3306端口
1. 查看端口是否已开放
命令:firewall-cmd --query-port=3306/tcp
2. 永久开放3306端口
命令:firewall-cmd --add-port=3306/tcp --permanent
(四)重启防火墙
完成上述步骤后,重启防火墙,使配置生效。
命令:firewall-cmd --reload
六、验证
(一)桥接虚拟机
1. 虚拟机设置桥接
2. VMware设置桥接
只需要管vmnet0
,其他不用理,图中的Inter® Dual…四我的联网的网卡,注意,是已经联网的网卡。
由于篇幅有限,vmnet0
的安装可以参考这篇教程:
Vmware安装后,没有VMnet0
(二)获取虚拟机IP
完成桥接后,在虚拟机内,输入命令:ifconfig
可知我的虚拟机获得的IP是192.168.31.240
(三)真机连接虚拟机3306
在真实计算机上,打开Navicat Premium 12,新建连接,按照虚拟机上配置好的root信息以及获取的IP地址,填入,测试连接即可。