本文手把手教你,在阿里云服务器上安装centos7系统并搭建docker容器及安装mysql5.7,设置相应的数据库远程登录权限 |
1,进入到实例->点击远程->VNC远程连接


2,安装docker:
执行下面3条命令

下载docker

速度慢解决:
设置下载镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
下载
yum install docker-ce-18.03.1.ce
启动docker:
sudo systemctl start docker
查看是否成功
docker -v

3,docker安装mysql(我这里选择5.7版本)
sudo docker pull mysql:5.7
检测所有的镜像:

配置mysql,并运行:
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
查看当前docker正在运行的容器:docker ps

文件挂载
如果需要修改数据库信息,那么需要进入到docker里面去修改mysql的配置信息,很麻烦,
这里我们可以把其挂载到linux文件里面,linux里面改动docker里面也会改动(须重新启动)。
退出docker容器。

Mysql配置:
vi my.conf
敲i,进入插入模式,复制下面的(修改字符编码)
vi/mydata/mysql/conf/my.conf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection=utf_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
敲ESC
再 " :w+q " 保存退出。
重启mysql容器,就生效。
docker restart mysql
进入mysql交互界面
docker exec -it mysql /bin/bash
进入到mysql里面的文件,看见了那个配置文件my.conf(它是之前外部更改后挂载进来的)

至此,mysql完成。
4,mysql中修改用户权限
默认的root权限太高,容易被删库。我们一般把root设置为只允许本地访问。而设置一个权限比较低的角色给外部访问
进入mysql命令行界面:
docker start mysql
1,创建平台角色
//创建一个用户:xiaogege 密码 123456
CREATE USER 'xiaogege'@'%' IDENTIFIED BY '123456';
//给用户:xiaogege授权,拥有(select,insert,update,delete,create)操作,只允许ip在128.8下的访问
grant select,insert,update,delete,create on *.* to 'xaiogege'@'121.8.%.%' ;
刷新
flush privileges
2,删除root 角色host中拥有%的
3,最后查询角色列表,就可以看见新建的角色了。
show grants可以查看当前用户所拥有的权限。
select host,user from user

本文介绍如何在阿里云CentOS7服务器上安装Docker容器并部署MySQL5.7,包括设置数据库远程访问权限、调整字符编码及创建用户角色。

1万+

被折叠的 条评论
为什么被折叠?



