首先准备一台云服务器
安装docker
可以参考菜鸟教程
curl -fsSL https://get.docker | bash -s docker --mirror Aliyun
启动 Docker
sudo systemctl start docker
测试一下
sudo docker run hello-world
没问题了
查看MySQL镜像
docker search mysql
拉取MySQL5.7.28镜像(大小437M)
docker pull mysql:5.7.28
查看MySQL镜像
docker images
有两个了,一个就是上面跑的demo,一个就是拉下来的
运行docker容器,设置ROOT用户密码
外网建议设置复杂一些的密码
docker run --name mysql5.7 -p 3307:3306 -v /data/mysql/datadir:/var/lib/mysql -v /data/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28
参数说明:
–name mysql5.7 容器别名
-p 3307:3306 端口映射(本机3307端口映射容器3306端口)
-v /data/mysql/datadir:/var/lib/mysql 目录映射(mysql数据目录)
-v /data/mysql/conf.d:/etc/mysql/conf.d 目录映射(mysql配置目录)
-d 后台运行
创建自定义用户和数据库
在公司里大家肯定是用自己的账号登录的,不可能给你root账号登录的。
首先进入容器:
docker exec -it mysql5.7 bash
登录root用户
mysql -uroot -p123456;
上面的命令也可以通过alias别名优化
vim ~/.bashrc
加入一行:
alias sql='docker exec -it mysql5.7 mysql -uroot -p123456'
编译生效
source ~/.bashrc
进入MySQL客户端后执行命令:
create user 'jackxu'@'%' identified by '123456';
flush privileges;
create database db0 DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
grant all privileges on db0.* to 'jackxu'@'%' identified by '123456';
flush privileges;
8.0版本的授权语句不一样:
grant all privileges on *.* to 'jackxu'@'localhost' with grant option;
用navicat连接测试
连接名:腾讯云
主机:就是文章开头提到的我购买的服务器的ip
端口:上面在启动mysql的时候设置的端口映射,容器端口是3306,映射到物理机的3307端口
用户名和密码:上面在进入容器以后设置的jackxu和123456,你也可以用root和123456登录
最后看下已经成功连接上了,db0数据库也是上面命令中创建的
感谢收看~
更多推荐
腾讯云CentOS 7 Docker安装MySQL 5.7
发布评论