centos7 64位系统 安装最新版MySQL8.0.27教程(按照官方文档)图文详解

一、下载安装包

新建个MySQL目录:(路径可自己定)

执行命令 mkdir -p /mytest/mysql/

进入此目录:

执行命令 cd /mytest/mysql/

如果linux已联网,可以直接执行命令

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar

或者去官网(链接:MySQL :: Download MySQL Community Server)下载好再上传上去 :

centos7 64位系统 安装最新版MySQL8.0.27教程(按照官方文档)图文详解_第1张图片

二、解压

执行命令 

## 解压到当前目录下
tar -xvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar
## 解压到指定目录下
tar -xvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar -C 指定目录路径

解压出来有9个包

mysql-community-client-8.0.27-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm
mysql-community-common-8.0.27-1.el7.x86_64.rpm
mysql-community-devel-8.0.27-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.27-1.el7.x86_64.rpm
mysql-community-libs-8.0.27-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.27-1.el7.x86_64.rpm
mysql-community-server-8.0.27-1.el7.x86_64.rpm
mysql-community-test-8.0.27-1.el7.x86_64.rpm
注:mysql-community-test-8.0.27-1.el7.x86_64.rpm 测试包用不到,可删掉

三、安装 (推荐使用 第1种 按官方文档安装)

总结:总的来说,按官方文档安装 比 按顺序手动安装 来得简洁,不用手动删除内置数据库mariaDB,不用一个一个包地装,推荐使用 第1种 按官方文档安装。

第1种. 按官方文档安装

在大多数情况下,你需要安装 mysql-community-server, mysql-community-client, mysql-community-libs, mysql-community-common,和 mysql-community-libs-compat包获得的功能,标准的MySQL安装。执行以下一条命令即可。

执行命令 sudo yum install mysql-community-{server,client,common,libs}-*

centos7 64位系统 安装最新版MySQL8.0.27教程(按照官方文档)图文详解_第2张图片

提示 Is this ok [y/d/N]: 时 输入 Y 

centos7 64位系统 安装最新版MySQL8.0.27教程(按照官方文档)图文详解_第3张图片

 第2种. 按顺序手动安装

2.1 删除centos7内置的数据库mariaDB

 当安装mysql-community-libs-8.0.27-1.el7.x86_64.rpm时,会报错如下:

 所以得把内置的mariaDB先删除。

2.1.1. 查询mariaDB

执行命令 rpm -qa | grep mariadb

 2.1.2. 删除mariaDB

执行命令 rpm -e --nodeps ***(*** 为软件名)

2.2 按顺序一个一个安装

按顺序一个一个的执行以下命令:(部分有依赖关系,顺序不能乱

rpm -vih mysql-community-common-8.0.27-1.el7.x86_64.rpm

rpm -vih mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm

rpm -vih mysql-community-libs-8.0.27-1.el7.x86_64.rpm

rpm -vih mysql-community-libs-compat-8.0.27-1.el7.x86_64.rpm

rpm -vih mysql-community-client-8.0.27-1.el7.x86_64.rpm

rpm -vih mysql-community-embedded-compat-8.0.27-1.el7.x86_64.rpm

rpm -vih mysql-community-server-8.0.27-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-8.0.27-1.el7.x86_64.rpm --force --nodeps (可不安装)

centos7 64位系统 安装最新版MySQL8.0.27教程(按照官方文档)图文详解_第4张图片

注:最后一个命令rpm -ivh mysql-community-devel-8.0.27-1.el7.x86_64.rpm --force --nodeps。

rpm -ivh mysql-community-devel-8.0.27-1.el7.x86_64.rpm需要依赖 pkgconfig(openssl).

就是要开启ssl认证,没必要。

官方文档上说mysql-community-devel是MySQL 数据库客户端应用程序的开发头文件和库。没啥用,也不会在linux上使用MySQL客户端。

所以安不安装都可以。

需要安装时加上 --force --nodeps是强制安装时不检查依赖。

五、启动服务

执行命令 systemctl start mysqld

六、修改默认密码 

1. 登录MySQL

安装时'root'@'localhost'创建了 一个超级用户帐户。超级用户的初始密码已设置并存储在错误日志文件中。

查找初始密码,执行命令 sudo grep 'temporary password' /var/log/mysqld.log

登录,执行命令 mysql -uroot -p ,提示输入密码时输入查到的初始密码

centos7 64位系统 安装最新版MySQL8.0.27教程(按照官方文档)图文详解_第5张图片

2. 修改密码

执行命令 ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

注:密码策略validate_password要求密码至少包含1个大写字母、1个小写字母、1个数字和1个特殊字符,并且密码总长度至少为8个字符。

 即时生效,下次登录得用新密码了;

七、使用工具(比如:sqlyog)远程连接

1. 防火墙开通3306端口

执行命令:

// 开通防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
// 重启防火墙
firewall-cmd --reload

2. 给连接的IP授权

2.1 修改用户host 

先登录mysql

再切换数据库:use mysql

然后修改用户host: update user set host='%' where user='root';

注1:'%'代表所有主机。

注2:如果不想修改用户,可以创建个新的用户:create user 'root'@'%' identified by '你的密码';

2.2 授权

执行命令: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

注1:如果有报错ERROR 1410 (42000): You are not allowed to create a user with GRANT,请`select * from user`查询后再执行这个命令

注2:有些人喜欢使用 GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION命令,这命令相当于创建并授权用户,在8.0以上版本是不支持了,创建和授权命令得分开执行。

2.3 刷新权限

执行命令:flush privileges;

centos7 64位系统 安装最新版MySQL8.0.27教程(按照官方文档)图文详解_第6张图片

 3. 工具登录报错解决

sqlyog版本低的话登录会报错plugin caching_sha2_password could not be loaded

centos7 64位系统 安装最新版MySQL8.0.27教程(按照官方文档)图文详解_第7张图片

原因分析: 由于MySQL8.0以上默认使用了caching_sha2_password代替了旧版本的mysql_native_password密码验证插件,

解决方案:升级连接工具或者修改密码验证插件。修改插件步骤如下:

执行命令 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Root*123456';

再执行命令 flush privileges;

 搞定。

官方密码验证插件升级说明:

MySQL :: MySQL 8.0 Reference Manual :: 2.11.4 Changes in MySQL 8.0

官方文档链接:MySQL :: MySQL Installation Guide :: 7.4 Installing MySQL on Linux Using RPM Packages from Oracle​​​​​​

你可能感兴趣的:(linux,linux,服务器,mysql,centos,后端)