使用docker快速安装mysql

使用docker快速安装mysql

使用镜像

docker pull hub.c.163.com/library/mysql:5.7

更改镜像名hub.c.163.com/library/mysql:5.7为mysql:5.7

docker tag hub.c.163.com/library/mysql:5.7 mysql:5.7

用于挂载mysql数据文件

sudo mkdir -p /dockerf/mysql/datadir 

用于挂载mysql配置文件

sudo mkdir -p /dockerf/mysql/conf.d 

修改/my目录拥有者(如果使用root用户可忽略)

sudo chown dockerf:docker /dockerf 

创建并运行容器

docker run --name mysql5.7 -p 3306:3306 -v /dockerf/mysql/datadir:/var/lib/mysql -v /dockerf/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=mysql@123 -d mysql:5.7

命令解析:

docker run 
--name mysql5.7
-p 3306:3306
-v /dockerf/mysql/datadir:/var/lib/mysql
-v /dockerf/mysql/conf.d:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:5.7	

--name:容器名
--p:映射宿主主机端口
-v:挂载宿主目录到容器目录
-e:设置环境变量,此处指定root密码为mysql@123
-d:后台运行容器

测试是否成功

查看容器id,并进入docker

docker exec -it [容器ID号] bash
docker exec -it bfa9a9912e57 bash

创建mysql用户及授权

以root登录mysql

mysql -h[地址,下面例子是本机内网的IP] -p[端口号] -u[用户名] -p        【回车后输入密码】
mysql -h192.168.2.101 -p3306 -uroot -p

创建用户

create user 'myadmin'@'%' identified by '123456';

刷新授权

flush privileges;

为用户创建数据库

create database mytable_1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

##为新用户分配权限

授予用户通过外网IP对于该数据库的全部权限

grant all privileges mytable_1.* to 'platform'@'%' identified by '123456';

刷新授权

flush privileges;

退出 root 重新登录

exit

用新帐号 test 重新登录,由于使用的是 % 任意IP连接,所以需要指定外部访问IP

mysql -u test -h 115.28.203.224 -p

你可能感兴趣的:(docker)