mysql8.0 rpm方式安装(CentOS7.6)

该博客详细介绍了如何在CentOS7.6上通过RPM方式安装MySQL8.0,包括查看系统版本、下载安装文件、卸载mariadb、解压安装、启动服务、设置开机自启、登录设置密码、远程访问配置以及防火墙设置等步骤。此外,还涉及了服务端编码设置和一些安装过程中可能遇到的问题解决。
摘要由CSDN通过智能技术生成

一、查看linux操作系统版本和系统内核版本

1、查看操作系统版本:cat /etc/redhat-release
2、查看系统内核版本:uname -r
3、查看Linux版本信息:cat /proc/version
注意:步骤 2 和 3 选择一个就可。
在这里插入图片描述

二、下载所需版本MySQL安装文件

1、官网下载上传,地址是:https://dev.mysql.com/downloads/mysql/
推荐使用这个地址,下载比较快速,当然版本是历史版本。https://downloads.mysql.com/archives/community/
然后本地上传(我这里使用的远程连接工具是:Xshell6)

2、服务器直接下载,使用命令:wget +上面指向的下载地址
例如:wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
我这里使用的是mysql8.0.20的版本。

1、检查是否安装的 mariadb:rpm -qa | grep -i mariadb,-i表示忽略大小写
2、卸载默认安装的 mariadb:rpm -e mariadb-libs --nodeps,–nodeps表示忽略依赖关系
3、查看用户组信息并将这些mysql用户信息删除
查看命令:

more /etc/passwd | grep mysql
more /etc/shadow | grep mysql
more /etc/group | grep mysql

删除命令:

groupdel mysql
userdel mysql

四、解包并进行安装

安装步骤说明:

【安装顺序:(包之间相互依赖,所以必须注意安装顺序)】
1、先装 common
2、再装 libs(确保 mariadb 已卸载,centos7 默认支持 mariadb,不卸载会出现冲突)
3、再装 client
4、最后装 server

1、解包命令tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
2、安装 libaio 依赖yum -y install libaio
此处不安装的话,安装 server 时会报错

警告:mysql-community-server-8.0.20-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
	libaio.so.1()(64bit) 被 mysql-community-server-8.0.20-1.el7.x86_64 需要
	libaio.so.1(LIBAIO_0.1)(64bit) 被 mysql-community-server-8.0.20-1.el7.x86_64 需要
	libaio.so.1(LIBAIO_0.4)(64bit) 被 mysql-community-server-8.0.20-1.el7.x86_64 需要

3、正式安装

## 这里顺序执行
rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm

4、验证安装是否成功
方式1::查看mysql是否安装成功【出现版本和用户组信息即代表安装成功】

mysqladmin --version
cat /etc/passwd|grep mysql
cat /etc/group|grep mysql

方式2:查看安装的mysql是否已安装成功 :rpm -qa | grep -i mysql
在这里插入图片描述

五、启动mysql服务并设置mysql服务开机自启

1、检查mysql服务状态:systemctl mysqld status
2、mysql 服务启动关闭命令:

启动mysql服务:systemctl mysqld start
停止mysql服务:systemctl mysqld stop
重启mysql服务:systemctl mysqld restart

3、设置mysql服务开机自启动:systemctl enable mysqld
验证自启动是否成功:chkconfig --list | grep mysql
不行的话使用 systemctl list-unit-files指令查看。

六、登录mysql并设置密码以及mysql远程登录

1、连接mysql
方式1、使用初始密码登录命令:mysql8提供了初始登录密码,查看位置:

[root@localhost ~]# cat /var/log/mysqld.log | grep password
2021-07-21T08:38:52.071659Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Wz!LKt)!N6hT

输入指令mysql -u root -p,回车将密码输入后即可。
方式2、编辑my.cnf文件跳过密码,编辑文件时,找到[mysqld],然后添加skip-grant-tables保存后重启 mysql 服务。
注意:方式2在设置好登录密码后取消添加的指令,并且完成重启。

2、设置本地登录密码和远程访问密码

## 先设置密码,例如:Mysql@123,注意密码为高安保等级(例如大小写和特殊字符的组合),不然无法使用其他操作
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@123';
## 看当前所有数据库
show databases;
## 进入mysql库
use mysql;
## 查看当前默认规则:
show variables like 'validate_password%';
## 修改校验密码策略等级:LOW,默认为:MEDIUM
set global validate_password.policy=LOW;
## 设置密码长度至少为 6,默认为8;
set global validate_password.length=6;
## 立即生效
flush privileges;
## 查看用户信息
select host, user, authentication_string, plugin from user;
# 更新root信息
update user set host='%' where user='root';
# 授权root用户可以远程登陆
GRANT ALL ON *.* TO 'root'@'%';
## 远程连接设置
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Mysql@123'; 
## 立即生效
flush privileges;

3、远程防火墙设置(CentOS7.5)
方案1:关闭防火墙

systemctl stop firewalld.service          #停止firewall
systemctl disable firewalld.service        #禁止firewall开机启动

方案2:开放访问端口
1、开放端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:

--zone #作用域
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

2、重启生效:firewall-cmd --reload

六、其他配置

1、服务端编码设置(可选),mysql8默认的编码是:utf8mb4,它是utf8的超集
1)查看服务端编码:show variables like 'character%';

2)设置utf-8编码
1、编辑my.cnf文件:vim /etc/my.cnf
编辑内容如示:

#在对应位置加入如下内容并保存退出
[client]
default-character-set=utf8
		
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
		
[mysql]
default-character-set=utf8

3)重启mysql服务:service mysqld restart

以上采坑记录待续!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值