Docker--mysql(centos)

Docker--mysql

当前启动

systemctl start docker

自启动

systemctl enable docker

1.拉取mysql镜像

docker pull mysql:5.7

其他版本参考dockerhub

2.创建容器,并启动

1.创建容器
docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -id mysql:5.7
docker run -id -p 3308:3306 --name=mysql5.7 -v /mydata/mysql/conf:/etc/mysql/conf.d -v /mydata/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
'''
文件映射
-v /mydata/mysql/log:/var/log/mysql \

-v /mydata/mysql/data:/var/lib/mysql \

-v /mydata/mysql/conf:/etc/mysql \

进入 mydata 文件下的conf 文件创建 mysql 的配置文件并添加相应的文件内容,下次启动就可以以这个配置文件作为启动文件了。
直接复制以下文件内容,粘贴到 my.conf 文件中。

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

skip-name-resolve

重启刚刚运行那个MySQL镜像。

docker restart mysql_name(运行时mysql的ID)
'''

     # -p 端口映射 本机端口:容器端口 当我们访问服务的3307端口的时候会自动映射到容器的3306,也就是mysql容器中的mysql服务
     # --name:给MySQL容器取的名字
     # -d:表示后台运行
     # -e MYSQL_ROOT_PASSWORD:设置root用户密码
        
2.进入mysql容器
docker exec -it mysql5.7 /bin/bash
docker exec -it (可以为容器的name也可以是容器的id<docker ps -a查看容器id>) /bin/bash


3.进入mysql
mysql -uroot -p123456

4.root外网连接权限
user mysql;

alter user 'root'@'%' identified with mysql_native_password by '123456';

flush privileges;

select user,host from user;
结果为这样即可

3.阿里云配置安全组或防火墙

把刚刚做好映射的3307端口开放即可

'''
	如果不是使用云服务器,我们可以直接关闭防火墙
	
	systemctl stop firewalld
'''

4.使用Navicat连接

端口为映射的3307即可

posted @ 2022-11-02 15:09  春游去动物园  阅读(35)  评论(0编辑  收藏  举报