CentOS 7 Mysql 8.0 安装配置

首先安装官方yum源,这里可以找到:https://dev.mysql.com/downloads/repo/yum/

rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

如果安装了5.7版本的mysql源则会安装失败,先卸载旧版本源:

# 查询mysql包 
rpm -qa | grep mysql 
# 卸载 
rpm -e ... 

源安装成功则执行:

yum install mysql-community-server

即可成功安装

下面是配置:

service mysqld start

启动mysql之后会在系统日志  /var/log/mysqld.log 中生成一个临时密码,用这个密码登陆进行操作,首先修改密码:

# 只能先修改本地登陆root的密码才能进行其他配置
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

然后你可以关闭密码检查的强度、长度等等:(配置在 /etc/my.cnf

 #validate-password=FORCE_PLUS_PERMANENT
 #validate_password_length=10
 #validate_password_mixed_case_count=1
 #validate_password_number_count=1
 #validate_password_policy=LOW

由于 PASSWORD函数已经被废弃,所以通过在 /etc/my.cnf 配置

-skip-grant-tables

来登陆修改密码已经没用。

然后通过Navicat登陆,发现无法登陆,报错,因为mysql8.0修改了验证插件,从 mysql_native_password改为了 caching-sha2-password
对于从旧版本升级到8.0现有用户是不影响验证方式的,新加用户会采用新的验证方式。
修改为旧的验证方式:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

使用新的加密插件:

ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'password';

同时也可以在 /etc/my.cnf中配置全局验证插件:

default_authentication_plugin=mysql_native_password

需要注意的是原来的 com.mysql.jdbc.Driver 已经标记为deprecated,新的驱动为 com.mysql.cj.jdbc.Driver
并且不需要手动配置,已经由SPI自动加载,关于SPI运行可以参考:Java 9 新特性 — Module System 之 Service

 

参考文档:
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html

  
BugHome版权所有丨转载请注明出处:https://minei.me/archives/338.html
  

发表评论

电子邮件地址不会被公开。 必填项已用*标注