Docker安装Mysql5.7

  1. 拉取mysql 5.7 Docker镜像
docker pull mysql:5.7

其他版本请查看 tags

  1. 创建容器
docker run -it -p 3306:3306 --name mysql57 \
-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 \
--restart=always \
-d mysql:5.7

参数说明:

  • -i: 以交互模式运行容器,通常与 -t 同时使用

  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用

  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口,此处是将宿主机的3306端口映射到容器的3306端口

  • --name: 指定容器名称

  • -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:初始化root账户的密码

  • --restart=always:docker重启时,自动启动此容器

  • -d: 后台运行容器,并返回容器ID

  1. Mysql配置

修改默认编码

vi /mydata/mysql/conf/my.cnf
[client]
default_character_set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
skip-character-set-client-handshake
skip-name-resolve

重启容器:

docker restart mysql57
  1. 通过容器的 mysql 命令行工具连接
docker exec -it mysql57 mysql -uroot -proot
  1. 设置 root 远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
posted @ 2022-12-12 23:11  猫之守护者  阅读(395)  评论(0编辑  收藏  举报