Docker安装MySQL挂载外部配置文件和数据
Docker安装MySQL挂载外部配置文件和数据
背景
使用Docker容器搭建数据库,可以极为方便的移植到其他环境。本文有两种配置方式,一种是在全部文件数据都在容器内部,一种是挂载到外部配置和数据,这要的好处是打包的容器不会随着使用而越来越大。
挂载在容器内部配置文件和数据
docker拉取最新MySQL
docker pull mysql
docker images //查看是否有镜像
启动docker,创建MySQL
docker run --name=mysql -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
设置远程访问
use mysql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;
挂载外部配置文件和数据
docker拉取最新MySQL
docker pull mysql:8.0.18
创建配置文件
可以根据需要设置到合适的目录
mkdir -p /usr/local/mysql/conf
mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/logs
创建MySQL配置文件
vi /usr/local/mysql/conf/my.cnf
复制以下内容,为了解决中文乱码问题
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
# Custom config should go here
!includedir /etc/mysql/conf.d/
运行容器
docker run --restart=always -d -v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql/logs:/logs -v /usr/local/mysql/data/mysql:/var/lib/mysql -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.18
-d 后台运行
-v 目录映射;主机目录:容器目录
-p 端口映射;主机端口:容器端口
-name 容器名称
-e 运行执行
设置远程访问
use mysql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;
参考文章
最新文章
- Facebook将于周二推出拯救生命新工具
- @Select注解动态sql语句
- 计算机中的位,字节,字,字长的概念
- 为什么要建议用自增列做主键
- 心血漏洞(OpenSSL升级)
- 【建议收藏】机器学习数据预处理(五)——特征选择(内附代码)
- filter过滤器设置URL例外
- nfs服务器使用
- pareto最优解程序
- 贪心算法的最优解条件
- 消息队列之:oslo
- 常见的软件测试类型
- 函数的callee和caller的区别和用处
- LZW编码与解码的那点事
- Emgu CV 第一个实例
- 【转帖】Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)原文https:www.datalearner.comblog10514
- python thinker
- 数据库的升序降序排列
- 云端漫步
- ARM + RISC