docker 安装配置mysql 5.7

参考 https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/docker-mysql-getting-started.html

1. 下载mysql 镜像

docker pull mysql/mysql-server:5.7

2. 创建本地映射目录

因为my.cnf和data目录都要永久保存,所以要做磁盘映射

mkdir -p /opt/tsingyun/mysql57/data

3. 保存my.cnf 到映射目录 

修改编辑my.cnf,最终结果如下

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
secure-file-priv=/var/lib/mysql-files
user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default_storage_engine=InnoDB
default-time-zone='+08:00'
character-set-server=utf8mb4

4. 启动容器

docker run --name mysql57 --rm -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD="123456" \
--mount type=bind,src=/opt/tsingyun/mysql57/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/opt/tsingyun/mysql57/data,dst=/var/lib/mysql mysql/mysql-server:5.7

 5. 修改mysql 权限

登录 到docker 
docker exec -it mysql57 bash

mysql -uroot -p 

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;

 

上一篇:转载:mysql5.7设置不区分大小写


下一篇:my.cnf 详解