成都网站建设设计

将想法与焦点和您一起共享

MariaDB三种方法安装及多实例实现-创新互联

MariaDB三种方法安装及多实例实现

白河ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

本章内容

Mariadb的三种安装方式:

   1、程序包管理器管理的程序包

   2、二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用

   3、源代码:编译安装

MariaDB在一台机器上的多实例实现

本机环境

系统版本:以CentOS_7.5_x86_64为例

MariaDB版本:以MariaDB 10.2.15 Stable为例

程序包管理器(yum)方式安装MariaDB

1、配置好yum源后,输yum -y install mariadb-server即可,不过mariadb版本是5.5的,不是较新的

2、如果想用yum安装较新版本的mariadb,可到MariaDB官网上查较新版本的yum源,官网地址是http://mariadb.org/,打开网页后点击Download,再点Download

MariaDB三种方法安装及多实例实现

MariaDB三种方法安装及多实例实现

3、这里以10.2.15版本为例,点击Download 10.2.15 Stable Now!

MariaDB三种方法安装及多实例实现

4、拉到最下面,点击Repository Configuration Tool.

MariaDB三种方法安装及多实例实现

5、依次点击CentOS --> CentOS 7 (x86_64) --> 10.2 [Stable],可以看到下方出现了yum源信息,将此信息复制,即可在CentOS中以此配置yum仓库

MariaDB三种方法安装及多实例实现

配好后输命令:

   yum clean all

   yum repolist

   yum -y install mariadb-server

即可安装较新版的10.2.15版的MariaDB

安装包准备

准备MariaDB的源码安装包,以及二进制程序安装包

二进制程序安装包其实就是已编译好的包,不用再编译

1、到官网上下载安装包,仍然是点击Download,再点击Download,之后点击Download 10.2.15 Stable Now

MariaDB三种方法安装及多实例实现

2、下载两个包,mariadb-10.2.15.tar.gz是源码包,mariadb-10.2.15-linux-x86_64.tar.gz是二进制格式的程序包

MariaDB三种方法安装及多实例实现

MariaDB三种方法安装及多实例实现

 

3、用Linux的rz工具或者Xshell的xftp工具,把两个程序包传到两台虚拟机上

二进制程序包安装MariaDB

(1)准备用户

   groupadd -r -g 306 mysql

   useradd -r -g 306 -u 306 -m -d /data/mysqldb mysql

(2)准备数据目录

   以/data/mysqldb为例,建议使用逻辑卷

   chown mysql:mysql /data/mysqldb

   chmod 700 /data/mysqldb

(3)准备二进制程序

   tar xf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local  #/usr/local是程序包指定的目录,必须解压在这里

   cd /usr/local;ln -sv mariadb-10.2.15 mysql

   chown -R mysql:mysql /usr/local/mysql/

(4)准备配置文件

   mkdir /etc/mysql/

   cp support-files/my-huge.cnf /etc/mysql/my.cnf

   #/usr/local/mysql/support-files下有很多my-*.cnf文件,分别对应不同的内存大小,可打开看看,选择对应自己机器的拷贝就行

   vim /etc/mysql/my.cnf

   [mysqld]中添加三个选项:

      datadir = /data/mysqldb

      innodb_file_per_table = on可不加

      skip_name_resolve = on禁止主机名解析,建议使用,不加也可

(5)创建数据库文件

   cd /usr/local/mysql/

   ./scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql

(6)准备日志文件

   touch /var/log/mysqld.log

   chown mysql:mysql /var/log/mysqld.log

(7)准备服务脚本,并启动服务

   cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

   chkconfig --add mysqld

   service mysqld start

(8)安全初始化

   /user/local/mysql/bin/mysql_secure_installation

(9)添加环境变量

   echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh

   . /etc/profile.d/mysql.sh

源码编译安装MariaDB

(1)安装包

yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake libevent-devel gnutls-devel libaio-devel openssl-devel ncurses-devel libxml2-devel

(2)做准备用户和数据目录

mkdir /data

useradd -r -s /sbin/nologin -m -d /data/mysqldb/ mysql

tar xvf mariadb-10.2.15.tar.gz

(3) cmake编译安装

cd mariadb-10.2.15/

编译选项,可参考:

https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

这里直接输命令

cmake . \

-DCMAKE_INSTALL_PREFIX=/app/mysql \

-DMYSQL_DATADIR=/data/mysqldb/ \

-DSYSCONFDIR=/etc \

-DMYSQL_USER=mysql \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \

-DWITH_DEBUG=0 \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_LIBWRAP=0 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

make && make install

(4)准备环境变量

   echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh

   . /etc/profile.d/mysql.sh

(5)生成数据库文件

   chmod 700 /data/mysqldb

   cd /app/mysql/

   scripts/mysql_install_db --datadir=/data/mysqldb/ --user=mysql

(6)准备配置文件

   cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf

   vim /etc/mysql/my.cnf

   [mysqld]中添加:

      datadir = /data/mysqldb

   chown -R mysql:mysql /app/mysql/

(7)准备启动脚本

   cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld

(8)启动服务

   chkconfig --add mysqld

   service mysqld start

MariaDB在一台机器上的多实例实现

(1)安装MariaDB,这里用yum安装

yum install mariadb-server

(2)创建多实例目录

这里创建三个实例,最后三个实例会分别使用3306,3307,3308端口

mkdir /mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data} -pv

chown -R mysql.mysql /mysqldb/

(3)生成数据库文件

mysql_install_db --datadir=/mysqldb/3306/data --user=mysql

mysql_install_db --datadir=/mysqldb/3307/data --user=mysql

mysql_install_db --datadir=/mysqldb/3308/data --user=mysql

(4)准备配置文件

cp /etc/my.cnf /mysqldb/3306/etc/

vim /mysqldb/3306/etc/my.cnf

[mysqld]

port=3306

datadir=/mysqldb/3306/data

socket=/mysqldb/3306/socket/mysql.sock

[mysqld_safe]

log-error=/mysqldb/3306/log/mariadb.log

pid-file=/mysqldb/3306/pid/mariadb.pid

#!includedir /etc/my.cnf.d

cp /mysqldb/3306/etc/my.cnf /mysqldb/3307/etc/my.cnf #复制配置文件到3307和3308中

cp /mysqldb/3306/etc/my.cnf /mysqldb/3308/etc/my.cnf

vim /mysqldb/3307/etc/my.cnf

  :%s/3306/3307/ #将所有端口号从3306替换为3307

  :wq

vim /mysqldb/3308/etc/my.cnf

  :%s/3306/3308/ #将所有端口号从3306替换为3308

  :wq

(5)准备服务脚本

这里准备了一个服务脚本,粘到一个空文件里,并命名为mysqld:

#!/bin/bash #FileName: mysqld port=3306 mysql_user="root" mysql_pwd="" cmd_path="/usr/bin" mysql_basedir="/mysqldb" mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"   function_start_mysql() {     if [ ! -e "$mysql_sock" ];then       printf "Starting MySQL...\n"       ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> / dev/null  &     else       printf "MySQL is running...\n"       exit     fi }     function_stop_mysql() {     if [ ! -e "$mysql_sock" ];then        printf "MySQL is stopped...\n"        exit     else        printf "Stoping MySQL...\n"        ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown    fi }   function_restart_mysql() {     printf "Restarting MySQL...\n"     function_stop_mysql     sleep 2     function_start_mysql }   case $1 in start)     function_start_mysql ;; stop)     function_stop_mysql ;; restart)     function_restart_mysql ;; *)     printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}\n" esac   #End of file

chmod 700 mysqld

cp mysqld /mysqldb/3306/

cp mysqld /mysqldb/3307/

cp mysqld /mysqldb/3308/

#修改各实例配置文件的端口号

vim /mysqldb/3306/mysqld

vim /mysqldb/3307/mysqld

vim /mysqldb/3308/mysqld

(6)启动三个实例

/mysqldb/3306/mysqld start

/mysqldb/3307/mysqld start

/mysqldb/3308/mysqld start

(7)连接三个实例

mysql -S /mysqldb/3306/socket/mysql.sock

mysql -S /mysqldb/3307/socket/mysql.sock

mysql -S /mysqldb/3308/socket/mysql.sock

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:MariaDB三种方法安装及多实例实现-创新互联
地址分享:http://chengdu.cdxwcx.cn/article/ccjghc.html