Docker安装MySQL

admin
2022-02-27 / 0 评论 / 99 阅读 / 正在检测是否收录...

安装前提,已经搭建好Docker环境,关于docker安装可参考我另一篇文章《Docker安装》

一、Docker安装MySQL

  1. 拉取Docker镜像

    docker pull mysql:5.7
  2. 运行MySQL容器,参数说明见-说明1

    docker run -p 3306:3306 --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=密码 \
    -d mysql:5.7

二、MySQL配置

  1. 修改MySQL配置文件,my.cnf内容见-说明2

    vi /mydata/mysql/conf/my.cnf
  2. 容器的mysql 命令行工具连接

    docker exec -it mysql mysql -uroot -p

注意:会提示输入密码,也就是上面2运行容器时配置的密码

  1. 设置root 远程访问

    grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
  2. 刷新MySQL配置

    flush privileges;
  3. 重启MySQL容器

    docker restart mysql
  4. 设置启动Docker是启动MySQL容器

    docker update --restart=always mysql

说明1:
-p 3306:3306:将容器的3306 端口映射到主机的3306 端口

-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机

-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机

-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机

-e MYSQL_ROOT_PASSWORD=密码:root 用户密码

注意:logdataconf几个文件夹及路径不用手动新建,运行时会自动创建。


说明2:

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

说明:
skip-name-resolve:跳过域名解析

default-character-set=utf8:设置编码

7

评论 (0)

取消