快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → 三分钟部署MariaDB数据库

三分钟部署MariaDB数据库

时间:2020-02-25 16:28:04人气:作者:快盘下载我要评论

MariaDBmysql关系数据库管理系统的一个分支. MySQL被Oracle收购之后创建了MariaDB,真是感谢他们啊,要不是有MariaDB的出现,在做的各位有几个能支付其oracle的费用呢。据说是挂了电话开始计费,现在都不在去0吗。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

三分钟部署MariaDB数据库

大多数方面,MariaDB与MySQL几乎一样。所有的命令、接口、库和APIs,存在于MySQL,也存在于MariaDB。切换到MariaDB不需要转换数据库。MariaDB是真正替代MySQL的!

目录结构如下

请看我用dockerfile构建

FROM docker.io/centos:latest
MAINTAINER zailingRUN yum clean all
RUN yum install -y yum-plugin-fastestmirror yum-utils epel-release
RUN yum update -y
# utils
RUN yum install -y git hostname sudo less iproute psmisc net-tools 
bash unzip which tar passwd ed m4 patch rsync wget curl tcpdump telnet 
tar bzip2 unzip strace supervisor openssl openssh openssh-server 
openssh-clients util-linux inotify-tools
# dev
RUN yum install -y gcc-c++ libtool make gdb mariadb-devel snappy-devel 
boost-devel lz4-devel zlib-devel libcurl-devel libevent-devel 
libesmtp-devel libuuid-devel libcsv-devel cyrus-sasl-devel 
bzip2-devel libpqxx-devel libxml2-devel libxslt-devel libxslt-python 
libpng-devel jemalloc-devel fontconfig-devel pcre-devel
# deps
RUN yum install -y redis sqlite mariadb mariadb-server PostgreSQL
# python
RUN yum install -y python-pip python-devel python-lxml python-setuptools
RUN mkdir /var/run/sshd
RUN ssh-keygen -t rsa -q -f /etc/ssh/ssh_host_rsa_key -P ""
RUN ssh-keygen -t dsa -q -f /etc/ssh/ssh_host_dsa_key -P ""
RUN ssh-keygen -t rsa -q -f /root/.ssh/id_rsa -P ""
RUN cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys
RUN echo 'root:123456' | chpasswd
RUN sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd
RUN echo -e "LANG="en_US.UTF-8"" > /etc/default/local
RUN localedef -i en_US -f UTF-8 en_US.UTF-8
RUN cp /usr/lib64/mysql/libmysqlclient* /usr/lib64/
RUN rm -rf etc/localtime && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "bind '"e[A":history-search-backward'" >> /root/.bashrc
RUN echo "bind '"e[B":history-search-forward'" >> /root/.bashrc
RUN echo "export HISTTIMEFORMAT='%F %T '" >> /root/.bashrc
EXPOSE 22
RUN chmod u+s /usr/bin/ping
EXPOSE 3306
WORKDIR /usr/local/mysql
VOLUME ["/var/lib/mysql"]
VOLUME ["/etc/my.cnf.d"]
RUN mkdir -p /init
VOLUME ["/init"]
RUN yum clean all
ADD container-files /
RUN chmod +x /config/bootstrap.sh
RUN chmod +x -f /config/init/*.sh; exit 0
ENTRYPOINT ["/config/bootstrap.sh"]
docker-compose的书写格式如下 docker-compose.yml
version: '2'
services:
    mariadb:
        build: .
        image: zailing/mariadb
        container_name: mariadb
        hostname: mariadb
        privileged: true
        read_only: false
        tty: false
        network_mode: "bridge"
        ulimits:
            nofile:
                soft: 102400
                hard: 102400
        ports:
            - "127.0.0.1:2238:22"
            - "3306:3306"
        volumes:
            - /opt/docker/mariadb/data:/var/lib/mysql
            - /opt/docker/mariadb/init:/init
            - /opt/docker/mariadb/conf:/etc/my.cnf.d
        environment:
            - MYSQL_ROOT_PASSWORD=123456

MySQL物理文件组成详解

1、逻辑结构

第一层:服务层(为客户端服务,做请求连接处理,授权认证,安全)
第二层:核心层(查询解析,分析,优化,缓存,提供内建函数,存储过程,视图) 第三层:存储引擎层(做存取数据)

2、日志文件

错误日志:Error Log

记录了MyQLServer运行过程中所有较为严重的警告和错误信息,以及MySQLServer 每次启动和关闭的详细信息。在默认情况下,系统记录错误日志

二进制日志Binary Log & Binary Log Index

name]”打开了记录的功能之后,MySQL会将所有修改数据
库数据的query以二进制形式记录到日志文件中。当然,日志中并不仅限于query

语句这么简单,还包括每一条query所执行的时间,所消耗的资源,以及相关的事务信息

所以binlog是事务安全的

更新日志:update log

其功能和 binlog 基本类似,从版本5.0 开始,MySQL 已经不再支持更新日志

查询日志:query log

记录了所有的 query,包括所有的 select,体积比较大,开启后对性能也有较大的影响, 所以请大家慎用该功能。 一般只用于跟踪某些特殊的sql 性能问题才会短暂打开该功能。

慢查询日志:slow query log

记录了语句执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息。分析满查询日志的工具程序mysqlslowdump, 用来帮助数据库管理人员解决可 能存在的性能问题

Innodb 的在线redo 日志:innodb redo log

Innodb是一个事务安全的存储引擎,其事务安全性主要就是通过在线redo
日志和记录在表空间中的undo信息来保证的。redo日志中记录了Innodb 所做的所有物理变更和事务信息,通过redo日志和undo信息,Innodb 保证了在任何情况下的事务安全性。

3、数据文件

简述:在MySQL中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以
数据库名字命名的文件夹,用来存放该数据库中各种表数据文件。

“.frm”文件

与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定
义信息等。不论是什么存储引擎,每一个表都会有一个以表名命名的“.frm”文
件。

“.MYD”文件

“.MYD”文件是MyISAM存储引擎专用,存放MyISAM表的数据。每一个MyISAM
表都会有一个“.MYD”文件与之对应,同样存放于所属数据库的文件夹下,
和“.frm”文件在一起。

“.MYI”文件

“.MYI”文件也是专属于MyISAM 存储引擎的,主要存放MyISAM 表的索引相
关信息。

“.ibd”文件和ibdata 文件

这两种文件都是存放Innodb 数据的文件,之所以有两种文件来存放Innodb
的数据(包括索引),是因为Innodb 的数据存储方式能够通过配置来决定是使用
共享表空间存放存储数据,还是独享表空间存放存储数据。

相关文章

  • 一步步带你设计MySQL索引数据结构

    一步步带你设计MySQL索引数据结构,想想我们生活中的例子,比如新华字典,我们有一个目录,目录根据拼音排序,内容包含了汉字位于字典中具体的的页码。聪明的你肯定也想到了,我们也可以借鉴这种思想,建立一个MySQL的目录,叫做“索引”。...
  • 影刀连接Mysql数据库

    影刀连接Mysql数据库,影刀配置连接mysql数据库基础版...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。