CentOS7.9安装MySQL8

发布时间:2022-12-10 12:00

CentOS7.9安装MySQL8

环境

操作系统:CentOS7.9 ,amd64位
待安装mysql版本为:mysql 8.0.29

下载msyql

打开官网下载页面,选择操作系统与对应的版本
CentOS7.9安装MySQL8_第1张图片
选择对应版本的操作系统后,页面下方会出现下载地址,如下图的一大堆:
CentOS7.9安装MySQL8_第2张图片

CentOS7.9安装MySQL8_第3张图片

上方图中,第一行RPM Bundle为完整包,但是太大了,里面包含了一些Test、Debug等相关工具,我们不要这个,而是下载图中红框选中的六项。
下载完成后上传服务器(也可在服务器上使用 wget命令直接下载 ):
在这里插入图片描述

安装

使用 rpm -ivh 包名 安装,安装顺序如下:

rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm

安装过程中,有可能会出现如下错误提示:
CentOS7.9安装MySQL8_第4张图片
此时,需下载并安装上图中提示的依赖包libaio.so.1

下载依赖包

rpm依赖包,可从下面两个网站下载:

  1. https://pkgs.org/
  2. http://rpmfind.net/

其中,本人从pkgs.org下载了依赖包 libaio.so.1
下载后,使用下方命令安装:

rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm

配置(可选)

打开配置文件:

vim /etc/my.cnf

修改加密方式,如下图,去掉红框中行首的 # 即可:
CentOS7.9安装MySQL8_第5张图片
PS:
mysql8之前的加密方式为 mysql_native_password
mysql8默认使用新的加密方式 caching_sha2_password,此加密方式可能某些客户端连接工具不支持,可在此处修改为 mysql_native_password
当然,也可以在启动服务后再进行修改。

使用

启动、停止、重启

systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld

查看初始root密码

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

在这里插入图片描述
上图中,红框中的就是root用户的初始密码

使用root连接mysql

mysql -uroot -p

执行上方命令后,会提示输入密码,此时输入初始密码并回车即可:
CentOS7.9安装MySQL8_第6张图片

修改root密码

alter user root@localhost identified by 'Abc_1234';

上方命令中的的 Abc_1234 即为新的root密码。
CentOS7.9安装MySQL8_第7张图片
上图中,修改root本地登录密码为 Abc_123,root 默认只能本地登录,不建议作调整。

创建数据库

create database test character set utf8;

在这里插入图片描述
上方命令在创建数据库时,同时指定了默认字符集为 utf-8,若不想修改字符集,可使用如下命令:

create database test;

创建普通用户

通常我们使用数据库时,都会创建几个普通用户,各自分配上不同的权限,使用在不同的场景下,如,创建一个可写用户给程序使用,一个只读用户用来排查问题:

create user 'test_write'@'%' identified by 'Write_1234';
create user 'test_read'@'%' identified by 'Read_1234';

CentOS7.9安装MySQL8_第8张图片

给用户赋权

用户创建后,还需要赋权,才可以使用。

grant insert,delete,update,select on test.* to 'test_write'@'%';
grant select on test.* to 'test_read'@'%';
flush privileges;

上方命令中, test.* 表示 test 数据库的所有表,若只想给用户某个表的权限,将 * 改为表名即可。

上方命令中,‘test_read’@‘%’ 表示给 test_read 用户远程访问数据库的权限。若将 % 改为 localhost ,则只可在服务器上本地访问。

赋权后需刷新权限。

客户端连接与加密方式修改

因本人安装mysql后,并未更改默认加密方式,因此,使用客户端连接时报错:Plugin caching_sha2_password could not be loaded

CentOS7.9安装MySQL8_第9张图片
修改用户的加密方式:

alter user 'test_write'@'%' identified with mysql_native_password BY 'Write_1234';

在这里插入图片描述
至此,基本操作完成。

资源下载

若官网下载mysql与依赖包的速度过慢,可从本人云盘下载资源 ,提取码 8rze

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号