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即可
本文作者:春游去动物园
本文链接:https://www.cnblogs.com/chunyouqudongwuyuan/p/16851080.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步