docker学习-lnmp+redis之搭建mysql容器服务
一、 前期准备工作,创建配置文件目录,log文件目录,数据库DATA和WEB站点目录
[root@T1 ~]# mkdir -p /lnmp/conf/{mysql,nginx,php} /lnmp/logs/{mysql,nginx,php} /lnmp/data/{mysql,www}
[root@T1 ~]# tree /lnmp/
/lnmp/
├── conf
│ ├── mysql mysql配置文件
│ ├── nginx nginx配置文件
│ └── php php配置文件
├── data
│ ├── mysql MySQL数据文件目录
│ └── www 站点根目录
└── logs
├── mysql mysql日志文件
├── nginx nginx日志文件
└── php php日志文件
``````````````
2. 安装mysql5.7镜像
2.1 目录映射关系[镜像---->主机]
/etc/mysql/mysql.conf.d ---->/lnmp/conf/mysql
/var/lib/mysql ---->/lnmp/data/mysql
/var/log/mysql ---->/lnmp/logs/mysql
2.2 下载镜像
[root@T1 ~]# docker pull mysql:5.7
创建一个容器
[root@T1 image]# docker run -d -v /lnmp/conf/mysql:/etc/mysql/mysql.conf.d -v /lnmp/data/mysql:/var/lib/mysql -v /lnmp/logs/mysql:/var/log/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name dnmp_mysql5.7 mysql:5.7
0b7e685c3cbc3aa838230de31e0f1ddb37ce2e7a058c533648729183e39068eb
[root@T1 image]# netstat -nlp|grep 3306
tcp6 0 0 :::3306 :::* LISTEN 6700/docker-proxy
[root@T1 image]# docker ps |grep dnmp_mysql5.7
0b7e685c3cbc mysql:5.7 "docker-entrypoint.s…" 47 seconds ago Up 46 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp dnmp_mysql5.7
2.3 目录关系映射后,log的属主和属主都变了,需要改变为原来的属性[日志目录修改属主和属组为mysql:adm],不要问我为什么
[root@T1 image]# docker exec -it dnmp_mysql5.7 /bin/bash -c "ls -l /var/log/ |grep mysql"
drwxr-xr-x 2 root root 6 Jan 9 21:40 mysql
[root@T1 image]# docker exec -it dnmp_mysql5.7 /bin/bash -c "chown mysql:adm /var/log/mysql/ -R"
[root@T1 image]# docker exec -it dnmp_mysql5.7 /bin/bash -c "ls -l /var/log/ |grep mysql"
drwxr-xr-x 2 mysql adm 6 Jan 9 21:40 mysql
2.4 创建mysql的配置文件,下面配置只是测试日志路径,优化配置还需要完善
# cat >> /lnmp/conf/mysql/my.cnf << EOF
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
max_connections = 1000
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
slow_query_log =1
long_query_time = 10
slow_query_log_file = /var/log/mysql/slow.log
log-error=/var/log/mysql/error.log
server-id =100
log_bin=/var/log/mysql/mysql-bin
EOF
2.5 重启容器
[root@T1 lnmp]# docker restart 0b7e685c3cbc
[root@T1 lnmp]# docker exec -it dnmp_mysql5.7 /bin/bash -c "ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock"
-------------------------------------------------------------------------------------------------------------------------->
如果登陆数据库报如下错误
root@0b7e685c3cbc:/# mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@0b7e685c3cbc:/# ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock
-------------------------------------------------------------------------------------------------------------------------->
2.6 查看目录映射关系,已经OK了
[root@T1 lnmp]# ls /lnmp/logs/mysql/ /lnmp/conf/mysql/ /lnmp/data/mysql/
/lnmp/conf/mysql/:
my.cnf
/lnmp/data/mysql/:
0b7e685c3cbc.pid ca-key.pem client-cert.pem ib_buffer_pool ib_logfile0 ibtmp1 mysql.sock performance_schema public_key.pem server-key.pem
auto.cnf ca.pem client-key.pem ibdata1 ib_logfile1 mysql mysql.sock.lock private_key.pem server-cert.pem sys
/lnmp/logs/mysql/:
error.log mysql-bin.000001 mysql-bin.index slow.log
就可以解决问题了
我们的my.cnf也已经生效了,数据库容器创建完成
mysql> show variables like '%max_connections%';
mysql> show variables like '%slow_query_log%';
max_connections 1000
slow_query_log ON
slow_query_log_file /var/log/mysql/slow.log
--------------------------------------------------------------------------------------------------->
docker学习-lnmp+redis之搭建mysql容器服务的更多相关文章
- docker学习-lnmp+redis之搭建lnp容器服务
nginx+php7.0容器服务 本来想用单独的容器(nginx和php分开),但是因为是初学,php容器安装扩展的时候一直失败,所以就把centos+nginx+php放一起搭建了,优点是扩展简单, ...
- docker学习-lnmp+redis之搭建redis容器服务
1. 目录映射:/lnmp/data/redis:/data/lnmp/conf/redis/redis.conf:/etc/redis/redis.conf/lnmp/logs/redis:/var ...
- DOCKER 学习笔记5 Springboot+nginx+mysql 容器编排
前言 在上节的内容中,我们已经通过一个简单的实例,将Docker-compose 进行了实际的应用.这一小节中.我们将通过学习和了解,着重认识容器的编排,上一节只算是一个小小的测试.在这一节中.我们将 ...
- Docker学习之搭建MySql容器服务
描述 MySQL 5.6 SQL数据库服务器Docker镜像,此容器映像包含用于OpenShift的MySQL 5.6 SQL数据库服务器和一般用法.用户可以选择RHEL和基于CentOS的图像.然后 ...
- Docker学习笔记之--.Net Core应用容器通过网桥连接Redis容器(环境:centos7)
上节演示通过应用容器连接sql server容器,连接:Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7) 本节演示安装 redis容器,通过网桥连接 先决 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- Docker搭建Mysql容器
转载自:http://blog.csdn.net/Mungo/article/details/78521832?locationNum=9&fps=1 本文介绍如何使用docker迅速搭建My ...
- DOCKER 学习笔记4 认识DockerCompose 多容器编排
前言 通过上一节的学习,学会了如何在Linux 环境下搭建Docker并且部署Springboot 项目,并且成功的跑了起来,当然,在生产环境中,不只是需要一个后端的Web 项目,还需要比如 Ngin ...
- Docker学习笔记4: Docker-Compose—简化复杂容器应用的利器
本文转载自http://www.tuicool.com/articles/AnIVJn. 因Python语言,个人也没学过,不是太熟悉,这篇文章的代码格式排版不准确爆了很多错,让我走了好多坑,不过还是 ...
随机推荐
- 学习Hadoop+Spark大数据巨量分析与机器学习整合开发-windows利用虚拟机实现模拟多节点集群构建
记录学习<Hadoop+Spark大数据巨量分析与机器学习整合开发>这本书. 第五章 Hadoop Multi Node Cluster windows利用虚拟机实现模拟多节点集群构建 5 ...
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)解答
我在使用mysqll客户端连接我的mysql服务器的时候,出现了上述的问题.我的操作系统是ubuntu,安装版本是对应的64位服务器.我的服务器的启动方式是sudo service mysql sta ...
- C++Primer第五版——习题答案目录
目前正在刷<C++Primer>这本书,会在博客上记录课后习题答案,答案仅供参考. 因为水平有限,如有有误之处,希望大家不吝指教,谢谢! 目录地址 使用的系统为:win 10,编译器:VS ...
- eclipse修改android项目的apk包名类名
在Google提供的Eclipse集成开发环境adt-bundle下修改名称的总结: 1. 修改工程名(apk名称) 在弹出的对话框中输入新名称 该操作实际上是修改<project&g ...
- ZOL 3977. Pointers
太久没有做 zoj,对 oj 来说,由于它高度的”黑盒性“(输入数据和答案完全保密),保护自信心是非常重要的.所以我先选择一道非常简单的题目刷起.本题目是一个相当简单的题目,难度系数和求 A+B 相当 ...
- (整理)REHL6.5_Yum安装Reids
1.yum添加epel源 yum install epel-release 默认安装,遇到“确定吗?”输入Y 2.yum安装Redis yum install redis 默认安装,遇到“确定吗?” ...
- Linux中常用目录作用
Linux一般相应的文件都会会放在相应的目录下.这样更有利于文件的查找. 1.可以在家目录root或home,以及temp目录下随便放东西. 2.根目录下的bin和sbin,usr目录下的bin和sb ...
- 根据URL地址获取对应的HTML,根据对应的URL下载图片
核心代码(获取HTML): #region 根据URL地址获取信息GET public static String GetResult(string url) { return GetResult(u ...
- Thinkphp整合阿里云OSS图片上传实例
Thinkphp3.2整合阿里云OSS图片上传实例,图片上传至OSS可减少服务器压力,节省宽带,安全又稳定,阿里云OSS对于做负载均衡非常方便,不用传到各个服务器了 首先引入阿里云OSS类库 < ...
- Sublime Text3使用Package Control 报错There Are No Packages Available For Installation
转 http://blog.csdn.net/feilong_csdn/article/details/67638660 在使用sublime时,有时候我们希望将代码复制出来后仍然是高亮显示,这样我们 ...