centos7 安装mysql8

本文详细指导了如何从wget源下载并安装MySQL8.0,包括本地yum安装、初始化设置、密码修改,以及在Docker中部署和配置。还解决了因caching_sha2_password加密方式不被支持导致的问题,介绍了如何切换回mysql_native_password。
摘要由CSDN通过智能技术生成

下载mysql

 wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar

解压安装

tar xvf mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar 
yum -y localinstall *.rpm

初始化

mysqld --initialize --user=mysql

需要选择mysql用户,否则可能报错

如果异常,删除这里面的所有文件然后重新初始化

 cd /var/lib/mysql
 tm -rf *
mysqld --initialize --user=mysql

修改密码:

mysql -u root -p
密码
cat /var/log/mysqld.log

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;


或者一部到位
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

use mysql;
update user set host='%' where user='root';
flush privileges;


docker 安装mysql


 mdkir /data/mysql/logs
 mkdir /data/mysql/logs
 mkdir /data/mysql/conf

docker run --restart=always --name mysql --privileged=true -d -p 13306:3306 -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.29

my.cnf 配置

[client]
default-character-set = utf8mb4

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL

# Custom config should go here
# 字符集
character_set_server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 是否对sql语句大小写敏感,0:大小写敏感,1:忽略大小写区别。,只能在初始化服务器时配置。禁止在服务器初始化后更改
# 设置为2时,表名和数据库名按声明存储,但以小写形式进行比较
lower_case_table_names = 2

# 最大连接数
max_connections = 1000

# Innodb缓存池大小
innodb_buffer_pool_size = 4G

# 表文件描述符的缓存大小
table_open_cache_instances=1
table_open_cache=2000
table_definition_cache=2000

#!includedir /etc/mysql/conf.d/

报错处理 https://blog.csdn.net/lz6363/article/details/117778712

在这里插入图片描述

2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found

原因:由于目前已有的客户端连接软件还不支持mysql 8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式

使用命令行登录mysql

use mysql;

select user,plugin from user where user='root';
+------+-----------------------+
| user | plugin                |
+------+-----------------------+
| root | caching_sha2_password |
| root | caching_sha2_password |
+------+-----------------------+
2 rows in set (0.00 sec)

可以看到加密方式为caching_sha2_password
更改需要通过远程连接的用户的加密方式为mysql_native_password即可,这里用root用户举例:

-- 更改用户加密方式
alter user 'root'@'%' identified with mysql_native_password by '123456';

-- 刷新配置环境
flush privileges;

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值