栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker安装mysql

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker安装mysql

环境centos7

一、拉取mysql镜像5.7的版本
docker pull mysql:5.7

二、安装mysql镜像
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456  -d mysql:5.7

-p 3306:3306 将主机的3306端口映射到容器内部的3306端口
--name mysql 指定运行的容器名为mysql
-v $PWD/conf:/etc/mysql/conf.d 将容器内部的配置目录/etc/mysql/conf.d挂载到主机目录$PWD/conf
-v $PWD/logs:/logs 将容器内部的日志目录/logs挂载到主机目录$PWD/logs
-v $PWD/data:/var/lib/mysql 将容器内部的数据目录/var/lib/mysql挂载到主机目录$PWD/data
-e MYSQL_ROOT_PASSWORD=123456 设置数据库root用户的密码为123456
-d 设置容器在后台运行
mysql:5.7 运行的镜像为mysql:5.7

三、配置mysql 通过bin/bash的方式进入容器
docker exec -it mysql bin/bash

登录mysql
mysql -uroot -p

使用mysql
use mysql;
查询mysql的用户
select host,user from user;

添加远程登录用户
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新
flush privileges;

【1】docker安装容器报错:
docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql (97bd1a090c440dcb893f26150667fb60b7ee4f09bf6a9bdb2fced55ca42fc6c7):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNA
【1】解决办法:
systemctl restart docker(重新启动docker)
【2】部署至云服务器的springboot,插入数据库乱码的问题(centos7环境docker中的mysql)
#先登录mysql
mysql -uroot -p
#查询数据库编码
show variables like '%character%'; 

【2】解决办法:

创建容器的时候映射mysql配置路径:-v /home/mysql/conf:/etc/mysql

docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql  -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Lyk@3144 --name mysql mysql:5.7

在/home/mysql/conf里面新建my.cnf

在my.cnf加入下列配置

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci


重启mysql容器,解决

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/276991.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号