docker启动mysql8

使用docker启动 MySQL8.0

因为mysql8对登录密码的加密方式做了调整,所以每次安装完mysql都要去翻翻教程,特此记录下,方便以后查看

docker 启动脚本

#! /bin/bash 
docker rm -f mysql8 
docker run --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -v /usr/local/mysql/logs:/logs -v /usr/local/mysql/data:/var/lib/mysql -p 3306:3306 -d  mysql

这里我没有挂在配置文件 需要的自行百度 一般场景使用 就这样就可以了

启动后进入容器

docker exec -it mysql8 /bin/bash
mysql -uroot -p123456
	use mysql;
	ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
	ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
	FLUSH PRIVILEGES;
 

退出容器后重启

ctrl + D
docker restart mysql8

新版本8.0.36

命令

mkdir -p /mydata/mysql8.0.36/conf
mkdir -p /mydata/mysql8.0.36/logs
mkdir -p /mydata/mysql8.0.36/data

docker run \
--restart=always \
--privileged=true \
--name mysql \
-v /mydata/mysql8.0.36/conf:/etc/mysql8.0.36 \
-v /mydata/mysql8.0.36/logs:/var/log/mysql8.0.36 \
-v /mydata/mysql8.0.36/data:/var/lib/mysql8.0.36 \
-p 5202:3306 \
-e MYSQL_ROOT_PASSWORD=xxxxx \
-d mysql:8.0.36

  

 

 

my.conf

#MySQL客户端的默认字符集
[client]
default-character-set=utf8
#MySQL命令行客户端的默认字符集
[mysql]
default-character-set=utf8mb4
[mysqld]
#设置为 '+8:00' 表示服务器时区为东八区
default-time_zone = '+8:00'
#语句设置连接的排序规则为 utf8_unicode_ci;语句设置连接的字符集为 utf8
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
#MySQL服务器使用的默认字符集设置为 utf8;服务器使用的默认排序规则设置为 utf8_unicode_ci。
character-set-server=utf8
collation-server=utf8_unicode_ci
#客户端和服务器之间的字符集设置不一致时,MySQL服务器将不会与客户端进行字符集握手协商
skip-character-set-client-handshake

#提高性能,避免域名dns解析

skip-name-resolve

  

 

 
 
posted @ 2022-06-02 08:51  MaskerFan  阅读(1183)  评论(0编辑  收藏  举报