docker安装mysql


docker安装mysql
1.拉取mysql镜像
docker pull mysql:5.7
2.安装mysql
在宿主机创建目录并创建mysql配置文件my.cnf
mkdir /home/data/mysql56/data    #创建存放数据目录
mkdir
/home/data/mysql56/conf #创建存放配置目录
cd
/home/data/mysql56/conf
touch my.cnf #创建mysql配置文件my.cnf
编辑 my.cnf vi my.cnf

添加my.cnf一下内容
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
设置数据资源挂载宿主机中的位置 
-v /usr/local/docker/mysql/conf:/etc/mysql/conf.d
-v /usr/local/docker/mysql/data:/var/lib/mysql
执行命令
docker run -p 3307:3306 --restart=always --privileged=true --name mysql5.7 -v /usr/local/docker/mysql/conf:/etc/mysql/conf.d -v /usr/local/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
注释1)-p 端口映射,格式为:主机(宿主)端口:容器端口
        2)--restart=always 设置随服务启动而启动容器
        3)--name 命名容器名称
        4)-v 设置挂载点,格式为:主机(宿主)目录:容器目录
        5)-e 设置环境变量
        6)-d 后台运行容器,并返回容器ID
        7)--privileged=true 使用该参数,container内的root拥有真正的root权限
      8)对于已经运行但没设置随docker服务的启动而启动容器的可以执行如下命令
    docker update --restart=always 容器名
    
    
问题1:MySQL-this is incompatible with sql_mode=only_full_group_by错误解决方案
      需修改mysql配置文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性,
      my.cnf位于etc文件夹下,vim下光标移到最后,添加如下:
      sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
      重启mysql服务,顺利解决。 

 

posted @ 2020-08-09 10:13  菜鸟辉哥  阅读(115)  评论(0编辑  收藏  举报