docker系列 -- 安装MySQL

1、拉取MySQL镜像

docker pull mysql:5.7

2、运行容器

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.7  # -e后面是设置MySQL密码

3、创建目录保存Mysql 的数据、配置、日志,这样删除容器时,数据也不会丢失

mkdir -p /docker/mysql &&  cd /docker/mysql
mkdir data log conf

4、在 conf 目录中新建 my.cnf 文件,作为 Mysql 的配置文件

[mysqld] datadir=/var/lib/mysql  #(默认不是中国时区,使用的时候被坑过) default-time_zone = '+8:00' log-error=/var/log/mysql/error.log

5、重建容器

1、docker stop mysql && docker rm mysql 2、docker run --name mysql \                   --restart=always \( Docker 重启时容器也跟随启动)                   --privileged=true \(Docker 为容器内的 root 用户赋予真正的 root 权限,不然会提示 log 目录权限不足)                   -p 3306:3306 \                   -v /docker/mysql/conf:/etc/mysql/conf.d \(将配置目录挂载到容器内的配置目录)                   -v /docker/mysql/data:/var/lib/mysql \(将数据存储目录挂载到容器内的出局存储目录)                   -v /docker/mysql/log:/var/log/mysql \(将日志目录挂载到容器内的日志目录)                   -e MYSQL_ROOT_PASSWORD=12345678 \                   -d mysql

6、设置允许远程访问

1、docker exec -it mysql bash 2、mysql -u root -p 3、ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345678'; 4、FLUSH PRIVILEGES;