docker安装mysql

安装docker 查询mysql版本,

docker search mysql 拉取指定版本的镜像

docker pull NAME 启动镜像, 第一次启动最少需要指定MYSQL_ROOT_PASSWORD

docker run -d -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 --privileged=true --name mysql mysql_name --privileged=true是严格模式启动容器, 需要修改容器文件就要启用

如果是整个替换文件最好查看好文件的权限, mysql的配置文件第一个读取的是/etc/my.cnf, 权限是777 root:root. 修改配置文件 docker run -d -e MYSQL_ROOT_PASSWORD=‘password‘ -v $HOME/my:/etc/mysql/conf.d/ --name mysql mysql57:latest $HOME/my这个文件夹是存放my.cnf配置文件

docker run -p 3306:3306  --restart=always  --privileged=true --name mysql -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD="123456" -d mysql:5.7

命令说明:
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
-d: 后台运行容器,并返回容器ID

下面这两行配置是挂载数据

-v /opt/mysql/data:/var/lib/mysql

挂载mysql配置文件
-v /opt/mysql/my.cnf:/etc/mysql/my.cnf

my.cnf配置文件添加以下内容:

[mysqld]
user=root
character-set-server=utf8
default_authentication_plugin=mysql_native_password
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1 #忽略表名大小写

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

相关推荐