docker 安装 mysql
参考:https://blog.csdn.net/xsj34567/article/details/80940238
https://hub.docker.com/_/mysql
安装
#2020-3-16更新 #使用以下命令启动容器,不需要其他参数了 docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mysql/data:/var/lib/mysql --name mysql --restart=always -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker pull mysql docker run \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -v /data/mysql/data:/var/lib/mysql:rw \ -v /data/mysql/log:/var/log/mysql:rw \ -v /data/mysql/mysql-files:/var/lib/mysql-files:rw \ -v /data/mysql/conf:/etc/mysql/conf.d:rw \ -v /etc/localtime:/etc/localtime:ro \ --name mysql8 \ --restart=always \ -d mysql --lower_case_table_names=1 #单行 #docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mysql/data:/var/lib/mysql:rw -v /data/mysql/log:/var/log/mysql:rw -v /data/mysql/conf:/etc/mysql:rw -v /data/mysql/mysql-files:/var/lib/mysql-files:rw -v /etc/localtime:/etc/localtime:ro --name mysql8 --restart=always -d mysql --lower_case_table_names=1
#挂载conf.d 仅在以自定义配置文件运行mysql容器时使用; #以下为3个常用配置: --lower-case-table-names=1 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci #如果还需要知道其他配置,可以使用以下命令: docker run -it --rm mysql:tag --verbose --help mysql/data 是数据库文件存放的地方。必须要挂载到容器外,否则容器重启一切数据消失。 mysql/log 是数据库主生的log。建议挂载到容器外。 mysql/conf 是数据库的配置文件 /etc/localtime:/etc/localtime:ro 是让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
配置mysql 用户
#进入容器
docker exec -it mysql bash
#root登陆 ,输入密码
mysql -u root -p
#查询所有用户
use mysql; select user,host,authentication_string,plugin from user; #创建一个用户 create user 'web'@'%' identified by '123456'; #授权 grant all privileges on *.* to 'web'@'%' with grant option; #设置所有host可连接 update user set host='%' where user='web'; #设置密码永不过期 ALTER USER 'web'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; #设置密码类型 ALTER USER 'web'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #刷新 FLUSH PRIVILEGES;
#创建数据库 CREATE DATABASE `Core` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';