操作系统:CentOS7.9 ,amd64位
待安装mysql版本为:mysql 8.0.29
打开官网下载页面,选择操作系统与对应的版本
选择对应版本的操作系统后,页面下方会出现下载地址,如下图的一大堆:
上方图中,第一行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
安装过程中,有可能会出现如下错误提示:
此时,需下载并安装上图中提示的依赖包libaio.so.1
rpm依赖包,可从下面两个网站下载:
其中,本人从pkgs.org下载了依赖包 libaio.so.1
下载后,使用下方命令安装:
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
打开配置文件:
vim /etc/my.cnf
修改加密方式,如下图,去掉红框中行首的 # 即可:
PS:
mysql8之前的加密方式为 mysql_native_password
mysql8默认使用新的加密方式 caching_sha2_password,此加密方式可能某些客户端连接工具不支持,可在此处修改为 mysql_native_password
当然,也可以在启动服务后再进行修改。
systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld
grep "password" /var/log/mysqld.log
上图中,红框中的就是root用户的初始密码
mysql -uroot -p
执行上方命令后,会提示输入密码,此时输入初始密码并回车即可:
alter user root@localhost identified by 'Abc_1234';
上方命令中的的 Abc_1234 即为新的root密码。
上图中,修改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';
用户创建后,还需要赋权,才可以使用。
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
alter user 'test_write'@'%' identified with mysql_native_password BY 'Write_1234';
若官网下载mysql与依赖包的速度过慢,可从本人云盘下载资源 ,提取码 8rze。