1.查看需要安装的镜像版本
https://registry.hub.docker.com/_/mysql?tab=tags
2.选择自己需要的版本号
3.在安装好docker的linux服务器中安装mysql
(1)拉取最新版本mysql
docker pull mysql
(1.1)拉取指定版本的mysql
docker pull mysql:5.7
(2)拉取结束,查看本地是否存在mysql的镜像
docker images
(3)运行mysql
docker run -d -p 3306:3306 --name mysql -v /mysqldata/mysql/log:/var/log/mysql -v /mysqldata/mysql/data:/var/lib/mysql -v /mysqldata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
上述命令的含义:
docker run:在docker中启动一个容器实例
-d:该容器在后台运行
-p 3306:3306:容器与主机映射端口为,主机3306,容器3306
--name mysql:容器运行后的名称
-v /mysqldata/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /mysqldata/mysql/log目录下
-v /mysqldata/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /mysqldata/mysql/data目录下
-v /mysqldata/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 mysqldata/mysql/conf目录下
-e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root
mysql:5.7:需要运行的容器名称以及版本号
通过此处-v 命令备份后,就算当前mysql容器实例被删除,那么再次重启mysql容器后,数据将会自动重主机加载到容器当中
(4)查看容器是否启动成功
docker ps
(5) 重启mysql容器实例
docker restart mysql
(6)登陆到mysql实例中
1)进入mysql容器实例
docker exec -it mysql bash
2)登陆mysql
mysql -u root -p
回车后输入密码
3)创建一个外网访问的用户,并授权
//创建用户 create user 'root2'@'%' identified by '123456'; //授权 root2 是用户名 %是ip,%代表允许所有的外网访问 identified by 修改用户的密码 grant all privileges on *.* to 'root2'@'%' identified by '123456' WITH GRANT OPTION; //刷新权限 flush privileges;
4)查看mysql的所有用户以及访问权限
SELECT user, host,plugin,authentication_string FROM mysql.user;