docker安装mysql
https://www.bilibili.com/video/BV1np4y1C7Yf?p=10
https://hub.docker.com/search?q=mysql&type=image
查找mysql
https://hub.docker.com/_/mysql?tab=tags
下面使用 命令即可下载
EG: docker pull mysql 下载最新的 mysql
EG: docker pull mysql:8.0.22 选组固定的版本号 8.0.22 为固定版本号
本文用 docker pull mysql:5.7
创建实例并启动 设置自启动
docker run -p 3306:3306 --restart=always --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
此处可用本人亲测;
成功是上面这样的
每个容器都是完整并独立的
想进入一个容器怎么办呢?
docker exec -it mysql/200987... /mysql/bash docker exec -it 数据库名字或者编号iD /路径/路径
ls / 查看目录的结构
whereis mysql 查看mysql的安装路径
解释:
docker run -p 3306:3306 --name mysql \ 数据库的端口是3306 相当于把名字为name:mysql
-v /mydata/mysql/log:/var/log/mysql \ 日志 -v
/mydata/mysql/data:/var/lib/mysql \ 数据文件 -v
/mydata/mysql/conf:/etc/mysql \ 配置 这几段都是目录挂载。 -v 相当于 文件的映射的数据的端口映射到
liunx的docker上把 把 /var/log/mysql \ 的路径转发到 /mydata/mysql/log ·
其余的也是如此
-e MYSQL_ROOT_PASSWORD=vagrant \ 修改密码 -d mysql:5.7 启动容器
mysql5.7是我的名字
[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
把这个复制到 my.cnf中
重启 docker restart mysql
sudo docker update mysql–restart=always mysql开机自启
然后在进入一下 docker exec -it mysql /bin/bash 进入容器内部;
之前的文章整理分享下