安装
拉取镜像
docker pull mysql:8.0.29
启动容器
docker run -p 3306:3306 --name mysql8.0.29 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.29
参数说明:
参数 | 说明 |
---|
-p | 将本地主机的端口映射到docker容器端口(因为本机的3306端口已被其它版本占用,所以使用3307) |
--name | 容器名称命名 |
-e | 配置信息,配置root密码 |
-d | 镜像名称 |
配置(可跳过,建议弄上)
做目录映射我们可以跳过,直接让docker自己去管理容器文件
创建映射目录
mkdir -p /data/mysql/{etc,data,logs}
拷贝配置文件
docker cp mysql:/etc/mysql /data/mysql/etc/
使用
启动
启动容器
注意:mysql8之后,初始化数据库之后不能修改大小敏感,如果要设置的话启动容器时就要设置,否者删除数据,重新初始化数据库
docker run -p 3306:3306 --name mysql --privileged=true -v /data/mysql/etc/mysql:/etc/mysql -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.29 --lower_case_table_names=1
参数说明
参数 | 说明 |
---|
-p | 端口映射 |
--privileged=true | 挂载文件权限设置 |
-v /data/mysql/etc/mysql:/etc/mysql | 挂载配置文件 |
-v /data/mysql/logs:/logs \ | 挂载日志 |
-v /data/mysql/data:/var/lib/mysql \ | 挂载数据文件 持久化到主机, |
-v /etc/localtime:/etc/localtime | 容器时间与宿主机同步 |
-e MYSQL_ROOT_PASSWORD=123456 | 设置密码 |
-d mysql:8.0.29 | 启动 mysql 容器版本名 |
--lower_case_table_names=1 | 1:大小写不敏感,默认0:区分大小写 |
控制台登录
登录mysql容器
docker exec -it mysql8.0 bash
登录容器中的mysql
注意:现在 -uroot 之间不能有空格了,我打的时候也是,不知道为啥,真是依托答辩
mysql -uroot -p
navicat远程登录
如果使用navicat远程访问数据库,我们需要修改一下数据库的地址信息
use mysql;
UPDATE user SET HOST = '%' WHERE USER ='root';
FLUSH PRIVILEGES;
打开navicat,填写服务器相关信息,就能连接了
删除
删除容器
docker stop mysql
docker rm mysql
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)