腾讯云CentOS 7 Docker安装MySQL 5.7

·  阅读 284

首先准备一台云服务器

image.png

安装docker

可以参考菜鸟教程

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
复制代码

启动 Docker

sudo systemctl start docker
复制代码

测试一下

sudo docker run hello-world
复制代码

没问题了 image.png

查看MySQL镜像

docker search mysql
复制代码

拉取MySQL5.7.28镜像(大小437M)

docker pull mysql:5.7.28
复制代码

查看MySQL镜像

docker images
复制代码

有两个了,一个就是上面跑的demo,一个就是拉下来的 image.png

运行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客户端后执行命令:

image.png

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连接测试

image.png

连接名:腾讯云
主机:就是文章开头提到的我购买的服务器的ip
端口:上面在启动mysql的时候设置的端口映射,容器端口是3306,映射到物理机的3307端口
用户名和密码:上面在进入容器以后设置的jackxu和123456,你也可以用root和123456登录

最后看下已经成功连接上了,db0数据库也是上面命令中创建的

image.png

感谢收看~

分类:
后端
标签:
收藏成功!
已添加到「」, 点击更改