Docker安装MySQL8.0 并配置大小写忽略

一、拉取镜像

docker search mysql

docker pull mysql #不写版本号 默认拉取最新版本

docker pull mysql:8.0.21 #写版本号,则拉取确定的版本

二、创建MySQL 文件挂载目录

sudo mkdir -p /usr/local/mysql/mysql_ikuaiubuntu_master_lower_case_table_names_1/

三、创建容器

记得自行修改3306端口号和mysql密码123456 

如果提示权限不够请看以下教程

Ubuntu Docker 错误 Read Only File System的解决办法 - 进一步,海阔天空 (fitit100.com)

ubuntu为用户设置root权限 - 知乎 (zhihu.com)

(364条消息) Ubuntu:添加docker权限给当前用户(可以使docker命令免sudo)_ubuntu 给用户添加docker权限_lezeqe的博客-CSDN博客

sudo docker run  -d  \
--name mysql_ikuaiubuntu_master_lower_case_table_names_1 \
--privileged=true \
--restart=always \
-p 3306:3306 \
-v /usr/local/mysql/mysql_ikuaiubuntu_master_lower_case_table_names_1/data:/var/lib/mysql \
-v /usr/local/mysql/mysql_ikuaiubuntu_master_lower_case_table_names_1/config:/etc/mysql/conf.d  \
-v /usr/local/mysql/mysql_ikuaiubuntu_master_lower_case_table_names_1/logs:/logs \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai mysql \
--lower_case_table_names=1  

说明:

  • --name mysql_lower_case_table_names_1:给容器命名
  • --privileged=true:使用该参数,container内的root拥有真正的root权限。
  • --restart=always:开机自启动
  • -p 3306:3306:端口映射,第一个 3306 是映射出去的端口,第二个 3306 是这个容器的端口
  • -v /usr/local/mysql/mysql_ikuaiubuntu_master_lower_case_table_names_1/data:/var/lib/mysql:文件挂载, : 前为宿主机的目录位置,后为容器内文件对应位置
  • -e MYSQL_ROOT_PASSWORD=123456:环境变量设置,此处是设置 ROOT 用户登录密码
  • -e TZ=Asia/Shanghai mysql:此处是设置 MySQL 的时区,请注意这点,有时候你可能会发现你的服务器时区和你当前的电脑的时区是不一样的,这很有可能有一些隐藏问题噢。此处的 mysql为镜像名。
  • --lower_case_table_names=1:让表名忽略大小写,注意只有在初始化的时候设置 lower_case_table_names=1 才有效

如果远程链接不上的话 

#进入容器
 docker exec -it mysql_ikuaiubuntu_master_lower_case_table_names_1 bash

#登录mysql
mysql -u root -p
123456

#设置mysql远程权限
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

#刷新权限
flush privileges;

你可能感兴趣的:(docker,git,linux)