MariaDB三种方法安装及多实例实现
本章内容
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
3、这里以10.2.15版本为例,点击Download 10.2.15 Stable Now!
4、拉到最下面,点击Repository Configuration Tool.
5、依次点击CentOS --> CentOS 7 (x86_64) --> 10.2 [Stable],可以看到下方出现了yum源信息,将此信息复制,即可在CentOS中以此配置yum仓库
配好后输命令:
yum clean all
yum repolist
yum -y install mariadb-server
即可安装较新版的10.2.15版的MariaDB
安装包准备
准备MariaDB的源码安装包,以及二进制程序安装包
二进制程序安装包其实就是已编译好的包,不用再编译
1、到官网上下载安装包,仍然是点击Download,再点击Download,之后点击Download 10.2.15 Stable Now
2、下载两个包,mariadb-10.2.15.tar.gz是源码包,mariadb-10.2.15-linux-x86_64.tar.gz是二进制格式的程序包
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" ];thenprintf "Starting MySQL...\n"${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf &> / dev/null &elseprintf "MySQL is running...\n"exitfi }function_stop_mysql() {if [ ! -e "$mysql_sock" ];thenprintf "MySQL is stopped...\n"exitelseprintf "Stoping MySQL...\n"${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdownfi }function_restart_mysql() {printf "Restarting MySQL...\n"function_stop_mysqlsleep 2function_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
转载于:https://blog.51cto.com/13695854/2127892
MariaDB三种方法安装及多实例实现相关推荐
- python修改类的属性值_python 四种方法修改类变量,实例对象调用类方法改变类属性的值,类对象调用类方法改变类属性的值,调用实例方法改变类属性的值,直接修改类属性的值...
三种方法修改类变量,实例对象调用类方法改变类属性的值,类对象调用类方法改变类属性的值,调用实例方法改变类属性的值,类名就是类对象,city就是类变量, #coding=utf-8 class empl ...
- php 遍历 效率高,PHP遍历数组的三种方法及效率对比分析
这篇文章主要介绍了PHP遍历数组的三种方法及效率对比,实例分析了foreach.while与for三种遍历数组的方法与相关的效率比对,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例分析了PHP遍 ...
- android stringbuilder清空,StringBuffer 清空StringBuffer的实例的三种方法
@Test public void testStringbuffer(){ //StringBuffer类没有clear方法,不过可以通过下面两种方法来清空一个StringBuffer的实例: Str ...
- php前台调用后台方法,JavaScript_JavaScript调用后台的三种方法实例,方法一:直接使用%=%调 - phpStudy...
JavaScript调用后台的三种方法实例 方法一:直接使用调用 前台JS: var methodStr = ""; alert(methodStr); 后头方法: public ...
- 安装惠普笔记本XP三种方法
安装惠普笔记本XP三种方法 方法一.直接下载集成SATA驱动HP OEM XP PRO安装盘 本光盘以HP OEM XP PRO为基础制作的,集成了硬盘SATA驱动,其余部分未做任何改动或者优 ...
- 安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库...
为什么80%的码农都做不了架构师?>>> 安装软件包的三种方法 rpm工具 yum工具 源码包 rpm rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linu ...
- CentOS安装jdk的三种方法
2019独角兽企业重金招聘Python工程师标准>>> CentOS安装jdk的三种方法 环境 Linux版本:CentOS 6.5.Ubuntu 12.04.5 JDK版本:JDK ...
- 安装软件包的三种方法
安装软件包的三种方法 rpm工具 yum工具 源码包 rpm安装和卸载 先挂载光驱设备 mount /dev/cdrom /mnt/ 安装一个rpm包 rpm -ivh +包全名 "-i&q ...
- 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库...
7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库 三种方法 rpm工具----->类型windows下的exe程序 ...
最新文章
- Java 程序员必备的 15 个框架,前 3 个地位无可动摇!
- Matlab处理JSON数据
- Springcloud整理
- s3c6410 jpeg编码 linux,S3C6410 裸机硬件JPEG解码
- 利用Layer组件弹出多个对话框(非嵌套)与关闭及刷新
- 注释驱动的 Spring cache 缓存介绍
- 2021-08-08 idea 连接Mysql
- thinkphp验证码点击更换js实现
- python web 模版引擎集合
- 数控g71编程实例带图_数控编程代码g71 数控g71编程实例有图
- 记录一下这几天写专利的日子
- 各个ip地址库对比与java实现
- mysql的英文字母_MYSQL中查询怎么判断一个字段包含英文?
- 湿空气性质计算,随笔与学习记录 (3.露点温度,绝对湿度)
- python实现批量图片文字识别(ocr)
- win10计算机管理找不到用户,win10重装系统后管理账户不见了,win10怎么找到管理账户?...
- 笔记:毫米波雷达传感器,优势、应用和产业规模
- 哈夫曼树(huffman)
- 渗漏(Percolation)问题(java语言实现)
- 01-Spring是什么?Spring有什么用?
热门文章
- java web开发中Filter使用Annotation配置 (转载)
- 活动目录的设计及部署方法
- 统计学习方法|朴素贝叶斯原理剖析及实现
- 杭电多校第三场-H-Game
- Oracle数据库常用的脚本命令(一)
- ObservableCollection排序
- Bias vs. Variance(1)--diagnosing bias vs. variance
- 神经网络架构演进史:全面回顾从LeNet5到ENet十余种架构
- “无中生有”计算机视觉探奇
- 晒加班晒熬夜……“晒勤奋”是一种病!