docker 安装mysql
查看可安装的mysql版本:
docker search mysql
拉取最新的版本镜像
查找mysql最新版本
https://hub.docker.com/_/mysql?tab=tags
docker pull mysql:latest
查看本地拉取的镜像文件:
docker images
运行myql,设置端口和密码
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.31
参数说明:
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
docker run -p 3306:3306 --name mysql --restart=always --network common-network -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
-p 指定在容器内部的端口 以及对外暴露的端口
--name 设置服务器名称
--restart 是否运行跟随docker一起启动
--network 容器之间内部通信网络
-v 挂载命令 将容器中的配置挂载在外部来方便修改
-d 指定版本
-e 修改配置
-e 指定root的密码
docker 查看是否安装成功:
docker ps
进入docker中创建的容器
docker exec -it 6433654a15c6 bash
6433654a15c6 为docker ps 中的容器id
bash 以bash的方式进入
进入容器后 相当于在主机上面操作
exit 进行退出
docker设置 外部访问
登录mysql容器:
docker exec -it ada965b21ca1 bash
ada965b21ca1 :容器id
mysql -uroo -p
登录 容器中的mysql
show databases;
use mysql;
select host,user,plugin from user;
alter user 'root'@'%' identified with mysql_native_password by '123456';
然后就可以远程登录了
修改my.conf
新建以下内容 vi my.cnf
[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 update mysql --restart=always
本文来自博客园,作者:diligently,转载请注明原文链接:https://www.cnblogs.com/luo12828-foxmail/p/16963998.html

浙公网安备 33010602011771号