Docker安装MySQL5.7

背景
自己的练手小项目需要部署到公网服务器,需要连接mysql数据库,这里选择docker安装mysql5.7,简单便捷。

至于为什么选择mysql5.7,是因为mysql5.7版本稳定,其次安装相较于其他高版本(mysql8)实在是简单太多了,少了很多grant等初始化操作,比如access denied for user root......password no。看到这些连接错误提示信息实在头疼。

前提
安装好docker,配置好阿里云镜像。

实践
1、拉取mysql5.7的docker镜像

docker pull mysql:5.7

创建挂载的文件夹和文件


cd /etc
touch my.cnf
vim my.cnf

在my.cnf填入以下信息

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d



配好阿里云镜像仓库地址后,拉取镜像还是挺快的。

2、启动镜像

docker run -d -p 3306:3306 --privileged=true -v /etc/my.cnf:/etc/my.cnf -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD='root' --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci



表示映射宿主机3306端口到容器内部的3306端口,mysql连接密码为root,配置了容器my.cnf和mysql数据目录在宿主机的链接,设置了mysql编码为utf8.

3、查看容器运行状态

docker ps -a



容器在运行表示启动成功,不需要再做任何操作就可以通过root用户和IP密码去连接mysql了。

注意 :
如果使用的是云服务器,需要配置安全组策略后本地数据库连接工具才能成功连接数据库!
 

你可能感兴趣的:(docker,数据库,mysql)