docker 中安装msyql8.0
1.拉镜像
docker pull mysql:8.0
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/conf
touch /mydata/mysql/my.cnf
2 修改 mydata/mysql/my.cnf 下的信息
vi /mydata/mysql/my.cnf
在my.cnf中添加如下信息
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
lower_case_table_names = 1
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
挂载 mysql,指定容器,挂载目录
name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
sudo docker run --restart=always -p 3306:3306 --name mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-v /mydata/mysql/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0
mysql目录映射
vi /mydata/mysql/conf/my.conf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
重启docker
docker restart mysql
docker update mysql --restart=always
```
#### 进入docker
docker ps -a
docker exec -it mysql bash
在容器里输入
mysql -uroot -p123456
登录成功
https://www.cnblogs.com/yike-318601898-/articles/17380225.html