下载MySQL离线安装包
访问MySQL官网下载网站,下载对应版本的离线安装包。
删除mariadb服务
通过命令查看已经安装的mariadb的服务:
rpm -qa|grep mariadb
CentOS8中无查询结果,CentOS7查询结果参考如下:
如果存在查询结果则需要删除服务:
rpm -e --nodeps mariadb-libs
上传,解压,安装
命令参考如下:
# 上传安装包rz mysql-8.0.21-1.el8.x86_64.rpm-bundle.tar# 进行解压缩tar -xvf mysql-8.0.21-1.el8.x86_64.rpm-bundle.tar
得到的文件目录如下:
安装必要的组件:
# commonrpm -ivh mysql-community-common-8.0.21-1.el8.x86_64.rpm# libsrpm -ivh mysql-community-libs-8.0.21-1.el8.x86_64.rpm# clientrpm -ivh mysql-community-client-8.0.21-1.el8.x86_64.rpm# serverrpm -ivh mysql-community-server-8.0.21-1.el8.x86_64.rpm
设置忽略表名大小写
首先打开MySQL的配置文件:
vim /etc/my.cnf
增加相关配置信息:
# 忽略表名大小写lower_case_table_names=1
配置完成后保存退出。
初始化并启动数据库
# 初始化数据库mysqld --initialize --console# 启动数据库前查看数据库状态systemctl status mysqld# 进行必要授权,否则启动会失败chown -R mysql:mysql /var/lib/mysql/# 启动数据库systemctl start mysqld# 启动完成后查看数据库状态systemctl status mysqld
登录数据库并修改默认密码
查看MySQL安装完成后提供的临时密码:
cat /var/log/mysqld.log | grep password
执行结果参考图:
通过临时密码登录数据库:
mysql -u root -p
回车后输入密码即可登录:
登录成功后可以通过SQL语句修改密码:
alter USER 'root'@'localhost' IDENTIFIED BY 'p@ssw0rd';
授权远程连接
# 查询数据库列表show databases;# 切换当前数据库use mysql;# 查询当前所有授权信息select host, user, authentication_string, plugin from user;# 设置可以使用root用户访问数据库的地址update user set host = "%" where user='root';# 检查授权信息select host, user, authentication_string, plugin from user;# 使设置生效flush privileges;
执行过程参考:

相关命令
# 授权命令:with gran option 表示该用户可给其它用户赋予权限,但不可能超过该用户已有的权限grant all privileges on [schema名].[表名] to '[用户名]'@'[连接地址]' with grant option;grant all privileges on *.* to 'my'@'%' with grant option;# 撤销授权revoke all privileges on *.* from 'my'@'%';
开放防火墙3306端口
# 查看所有开放的端口列表firewall-cmd --zone=public --list-ports# 添加MySQL默认使用的3306端口firewall-cmd --zone=public --add-port=3306/tcp --permanent# 重启防火墙让配置生效firewall-cmd --reload# 检查开放的端口列表firewall-cmd --zone=public --list-ports
使用视图工具连接数据库时的问题
问题一:Authenticationplugin‘caching_sha2_password’cannot be loaded:XXXXX
问题原因:
MySQL8版本之前的加密规则是mysql_native_password,而MySQL8版本之后的加密的规则是caching_sha2_password
解决方案:
- 升级视图工具的驱动
- 将数据库加密规则还原成mysql_native_password
alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'p@ssw0rd';
问题二:密码策略
之前有遇到过修改密码过于简单MySQL不通过,可参考下方博客:
https://blog.csdn.net/hello_world_qwp/article/details/79551789
问题三:设置不区分大小写后数据库启动失败
没有在数据库初始化之前设置该配置,后面再设置如果导致启动数据库失败可以参考下方博客:
