Loading... ## 1、拉取Mysql镜像 我们可以去[docker hub](https://hub.docker.com/)下载`Mysql`镜像 #### 1.1 先搜索`MySql` <div class='album_block'> [album type="photos"] ![](https://blog.fivk.cn/usr/uploads/2023/02/2531134993.png) [/album] </div> #### 1.2 找到对应版本(office版本)点击进入 <div class='album_block'> [album type="photos"] ![](https://blog.fivk.cn/usr/uploads/2023/02/4022098681.png) [/album] </div> #### 1.3 找到对应版本及其命令 <div class='album_block'> [album type="photos"] ![](https://blog.fivk.cn/usr/uploads/2023/02/3103626246.png) [/album] </div> ```shell docker pull mysql:5.7 ``` ## 2、在本地某个位置创建以下内容 建议将以下内容放在一起,方便以后管理和查看 ```shell # 以MySql为例 mkdir -p /docker/mysql/data touch /docker/mysql/mysql.conf ``` 编辑配置文件`vim /docker/mysql/mysql.conf` ```shell [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 datadir=/var/lib/mysql # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB lower_case_table_names=1 # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8mb4 ``` ## 3、从镜像中运行容器 ```shell docker run --name mysql \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -v /docker/mysql/data:/var/lib/mysql \ -v /docker/mysql/mysql.conf:/etc/mysql/.conf.d \ -d mysql:5.7 ``` 解释以上命令 ```shell docker run --name mysql # 运行一个容器,名字取名为mysql -p 3306:3306 # 映射本地3306端口到容器3306端口,前为本地端口 -e MYSQL_ROOT_PASSWORD=123456 # 这是说mysql启动需要的开机密码,默认的账号是root ,密码就是上面设置的:123456 -v /docker/mysql/data:/var/lib/mysql # 这是宿主机的数据存放路径(你也可以自定义), /var/lib/mysql:这是mysql容器存放数据的地方。也是为了同步数据,防止,容器被删除以后,数据就不存在了。 -v /docker/mysql/mysql.conf:etc/mysql/conf.d # MySql容器配置文件 -d # 后台启动,使用此方式启动,则redis.conf中daemonize必须设置为no,否则会无法启动 mysql:5.7 # 选定mysql版本为5.7的镜像 ``` ## 4、进入容器连接mysql 进入容器,并链接mysql ```shell docker exec -it mysql bash mysql -uroot -p123456 ``` 最后修改:2023 年 12 月 14 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏