Docker 安装 MySQL
2023-09-11 14:18:39 时间
二、创建MySQL容器
1、建立目录映射,创建目录mysql,用于存放后面的相关东西。
mkdir -p $PWD/mysql/data $PWD/mysql/logs $PWD/mysql/conf
data目录将映射为mysql容器配置的数据文件存放路径
logs目录将映射为mysql容器的日志目录
conf目录里的配置文件将映射为mysql容器的配置文件
2、创建my.cnf配置文件
touch /opt/mysql/my.cnf
my.cnf添加以下内容:
[mysqld] user=mysql character-set-server=utf8 default_authentication_plugin=mysql_native_password secure_file_priv=/var/lib/mysql expire_logs_days=7 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections=1000 [client] default-character-set=utf8 [mysql] default-character-set=utf8
3、创建容器,并后台启动
运行容器
docker run --restart=always --privileged=true -v $PWD/mysql/data/:/var/lib/mysql -v $PWD/mysql/logs/:/var/log/mysql -v $PWD/mysql/conf/:/etc/mysql -v $PWD/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
命令说明:
-
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-
-v $PWD/my.cnf:/etc/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
-
-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs
-
-v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data
-
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
查看容器启动情况
root@localhost:~ /mysql $ docker ps CONTAINER ID IMAGE COMMAND ... PORTS NAMES 21cb89213c93 mysql:5.6 "docker-entrypoint.sh" ... 0.0.0.0:3306->3306 /tcp mymysql |
解决问题:
windows下:修改my.ini 在[mysqld]内加入secure_file_priv=/var/lib/mysql
linux下:修改my.cnf 在[mysqld]内加入secure_file_priv=/var/lib/mysql
$PWD
相关文章
- 我把MySQL运行在Docker上,差点完了……
- Sqoop-MySQL导入hive时id为文本解决
- CentOS双机中Docker下安装Mysql并配置互为主从模式
- 连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
- Docker服务启动报错:Job for docker.service failed because the control process exited with error code
- 【MySQL进阶-09】深入理解mysql执行的底层机制
- 【MySQL进阶-02】mysql的explain执行计划以及索引优化
- Mysql mysql lost connection to server during query 问题解决方法
- 【Docker】安装Presto连接Hive、mysql、oracle、postgresql、SQL server等7种类型数据库
- Docker - docker的安装部署 - docker常用命令 - 底层隔离机制
- Docker 安装MySql 8.0
- mysql 创建 mb4 字符集数据库
- python操作mysql数据库系列-安装MySql
- Windows环境下 PyQt5 如何安装MySql驱动 (PyQt5连接MYSQL时显示Driver not loaded解决方案)
- MySQL 主从复制与读写分离概念及架构分析
- linux备份数据mysql
- Docker问题——安装过程中问题Errors were encountered while processing: docker-ce
- Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动
- Docker Compose安装使用,及搭建nginx+php+mysql基础应用实例
- MySQL游标(cursor) 定义及实例学习
- manjaro docker install ros2 in raspberry pi4B 使用Docker安装ROS2 (ros-humble) 并开启对Wayland的支持
- MySQL 教程(基础篇)第04话:mysqld 和 mysql 命令的区别