centos6.9 安装 mysql8

# 安装mysql8

1.下载
https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.16-2.el6.x86_64.rpm-bundle.tar

2.解压

tar -xvf mysql-8.0.16-2.el6.x86_64.rpm-bundle.tar

rpm -iv mysql-community-common-8.0.16-2.el6.x86_64.rpm
rpm -iv mysql-community-libs-8.0.16-2.el6.x86_64.rpm
rpm -iv mysql-community-client-8.0.16-2.el6.x86_64.rp
rpm -iv mysql-community-server-8.0.16-2.el6.x86_64.rpm

3.启动mysql

service mysqld status
service mysqld start

4.开机启动

systemctl enable mysqld
systemctl daemon-reload

5.链接mysql

查看root默认密码
sudo grep 'temporary password' /var/log/mysqld.log

mysql -uroot -p
密码是上一步查询出来的。输入后回车。

修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ymm1234@';

说明密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位

6.添加远程用户登录
选择 mysql 数据库:use mysql;

在 mysql 数据库的 user 表中查看当前 root 用户的相关信息:

select host, user from user;

GRANT ALL ON *.* TO 'root'@'%';
如果报错则使用
update user set host='%' where user ='root';
flush privileges;

如果通过客户端链接时提示需要升级客户端,则使用下面的命令

命令如下:
1、use mysql;
2、alter user 'root'@'%' identified with mysql_native_password by '********';
3、flush privileges;

7.修改配置文件
my.cnf

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

8.进行数据恢复(utf-8编码)
mysql --default-character-set=utf8 -uroot -p
Ymm1234@

use dgds;
source /data/downloads/dgds.sql;

use server_sn;
source /data/downloads/server_sn.sql;

use server;
source /data/downloads/server.sql;

9.创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
GRANT privileges ON databasename.tablename TO 'username'@'host'
flush privileges;

CREATE USER 'server'@'%' IDENTIFIED with mysql_native_password BY 'mySQL2019!';
GRANT all ON *.* TO 'server'@'%';
flush privileges;

alter user 'server'@'%' identified with mysql_native_password by 'mySQL2019!';

10.如果是springboot程序,不用修改为mysql-native_password ,可以直接修改链接jar包版本即可
mysql驱动已经更新适配了caching_sha2_password 的密码规则,升级到最新版本就可以了。
<version>8.0.11</version>

11.具体解决方法
解决方案有很多,我是创建了一个新用户,并指定加密规则为:mysql_native_password,这样的话,仅需要执行以下语句即可:

create user 'your username'@'%' identified with mysql_native_password by 'your password
也可以直接修改my配置文件,将默认密码规则设置为mysql_native_password,刷新权限并重置root密码即可。

default_authentication_plugin=mysql_native_password
如果想用新的caching_sha2_password也是可以的,java的话mysql已经推出了新的mysql-connector-java包,引入后,驱动使用com.mysql.cj.jdbc.driver即可,这个方案本地试了。没有问题。

最新文章

  1. selenium使用笔记(三)——元素定位
  2. Maven提高篇系列之(三)——使用自己的Repository(Nexus)
  3. ASP.NET Web.Config 读写辅助类
  4. Openjudge计算概论-求序列中的众数
  5. 软件工程 speedsnail 第二次冲刺4
  6. [HDOJ2604]Queuing(递推,矩阵快速幂)
  7. JavaIO流(02)RandomAccessFile类详解
  8. careercup-栈与队列 3.2
  9. Jenkins 二:邮件配置
  10. Html 小插件5 百度搜索代码2
  11. SQL Server 性能优化
  12. Mysql中Insert into xxx on duplicate key update问题
  13. [Swift]LeetCode21. 合并两个有序链表 | Merge Two Sorted Lists
  14. Prometheus部署监控容器
  15. iOS模拟器:Undefined symbols for architecture x86_64
  16. bootstrap滚动监视原理实现
  17. EasyUI Dialog 对话框 关闭事件
  18. [Android自动化] 在 pip-9.0.1 版本情况下安装 uiautomator2 报错的解决办法
  19. [转]一个CMake编译问题的解决过程
  20. Python 数据结构与算法——冒泡排序

热门文章

  1. maven pom文件标签含义
  2. Linux系统中的硬件问题如何排查?(4)
  3. 【NOIP2014模拟11.3】蛋糕
  4. electron 系统托盘 单击 双击事件冲突解决方法
  5. k8s实战--redis主从--guestbook
  6. 【bzoj2763】[JLOI2011]飞行路线
  7. 基于OpenCV/TensorFlow的手写MNIST文字匹配
  8. vue 使用 vue-awesome-swiper (基础版)
  9. 损坏的RAID5
  10. c++内置变量类型