[Linux] 下安装MySQL 8.0+

该博客详细介绍了如何在Linux的CentOS7系统上安装和配置Docker,包括设置Docker镜像源、安装特定版本的Docker以及启动和设置开机启动。接着,文章演示了下载并挂载MySQL8.0镜像,创建挂载目录,配置my.cnf文件,最后启动MySQL并进行远程连接的设置。在过程中,还解决了MySQL8.0客户端不支持新认证方式的问题。
摘要由CSDN通过智能技术生成

前提

Linux 的 Centos7 系统内核为3.10 以上命令

[root@localhost ~]#  lsb_release -a //Centos 版本
[root@localhost ~]#  uname -r    // 系统内核


开始
    

//安装一些必要的系统工具
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 
//设置docker镜像源
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-c  
//查看docekr版本
[root@localhost ~]# yum list docker-ce --showduplicates | sort -r 
// 安装 docker 17.12.1
[root@localhost ~]# yum install docker-ce-17.12.1.ce 
// 启动 docker
[root@localhost ~]# systemctl start docker
// 设置开机启动
[root@localhost ~]# systemctl enable docker
// 查看docker版本
[root@localhost ~]# docker version


下载mysql8.0
    

//查看MySQL版本
[root@localhost ~]# docker search mysql
//下载 MySQL镜像
[root@localhost ~]# docker pull mysql:8.0.18 或者下载最新版 docker pull mysql
//查看镜像
[root@localhost ~]# docker images


挂载MySQL 8.0
    

// 创建本地挂挂载目录
[root@localhost ~]# mkdir -p /usr/local/docker/mysql/data
[root@localhost ~]# mkdir -p /usr/local/docker/mysql/mysql-files
[root@localhost ~]# mkdir -p /usr/local/docker/mysql/cnf
[root@localhost ~]# mkdir -p /usr/local/docker/mysql/log
//设置mysql配置文件 ,其中 sql_mode 设置group by 样式,并放在cnf 文件夹中,
// 我的my.cnf文件内容如下
    #Apply this config only on the master.
    [client]
    port = 3306
    default-character-set = utf8mb4
    [mysql]
    port = 3306
    default-character-set = utf8mb4

    [mysqld]
    sql_mode        ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
    # bind-address = 0.0.0.0
    # port = 3306

    max_connections=10000

    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci

    # 设置时区和字符集
    # default-time-zone='+8:00'
    character-set-client-handshake=FALSE
    init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'

    gtid-mode=ON
    enforce-gtid-consistency = ON


启动
    

//挂载并启动MySQL
[root@localhost ~]# docker run --restart=always --name mysql8.0 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /usr/local/docker/mysql/cnf:/etc/mysql -v /usr/local/docker/mysql/data:/var/lib/mysql -v /usr/local/docker/mysql/log:/var/log  -v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files  mysql:8.0.18
// 查看是否启动成功
[root@localhost ~]# docker ps -a 
// 扩展 暂停 删除(先暂停在删除) 
[root@localhost ~]# docker stop CONTAINER ID或者名字
[root@localhost ~]# docker rm CONTAINER ID或者名字 


远程链接
  

//忽略端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=30036/tcp --permanent 
// 重启防火墙
[root@localhost ~]# firewall-cmd --reload 
// 如果是阿里云 需要设置阿里云的安全规则
//安装完8.0 后 用navicat中报错client does not support authentication
//在mysql workbench中报外部组件错误
//解决办法
[root@localhost ~]# docker exec -it mysql8.0 bash
root@72b85f485s55:/#  mysql -u root -p 
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
mysql> flush privileges;
mysql> exit;
root@72b85f485s55:/#  exit;

就此结束 安装完成 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值