关键词:
准备环境:CentOS7.6
mariadb-10.2.23.tar.gz源码包
多实例目录结构:
编译安装
安装开发工具
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel
准备用户和数据目录
useradd –r –s /sbin/nologin –d /data/mysql/ mysql
mkdir /data/mysql
chown mysql.mysql /data/mysql
tar xvf mariadb-10.2.18.tar.gz
编译安装
cd mariadb-10.2.23/
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \ 指定安装目录
-DMYSQL_DATADIR=/data/mysql/ \ 指定mysql数据目录
-DSYSCONFDIR=/etc/mysql \ 指定配置文件的目录
-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=/data/mysql/mysql.sock \ 指定socket文件
-DDEFAULT_CHARSET=utf8 \ 指定字符集类型
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
提示:如果出错,执行rm -f CMakeCache.txt
安装
创建多实例的目录结构
mkdir mysql/9527,9528,9529/etc,bin,socket,data,log,pid -pv
将所有者和所属则设置为mysql
chown -R mysql.mysql /opt/mysql/
生成数据库文件
cd /app/mysql
./scripts/mysql_install_db --user=mysql --datadir=/opt/mysql/9527/data/
./scripts/mysql_install_db --user=mysql --datadir=/opt/mysql/9528/data/
./scripts/mysql_install_db --user=mysql --datadir=/opt/mysql/9529/data/
将生成的数据库文件存放到指定的位置
创建配置文件
cp /etc/my.cnf /opt/mysql/9527/etc/
cp /etc/my.cnf /opt/mysql/9528/etc/
cp /etc/my.cnf /opt/mysql/9529/etc/
编辑配置文件
[mysqld]
port=9527 指定端口号
datadir=/opt/mysql/9527/data 指定本端口号的数据库文件
socket=/opt/mysql/9527/socket/mysql.sock 指定本端口号的socket套接字
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#Settings user and group are ignored when systemd is used.
#If you need to run mysqld under a different user or group,
#customize your systemd unit file for mariadb according to the
#instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/opt/mysql/9527/log/mariadb.log 将日志文件存放到指定目录
pid-file=/opt/mysql/9527/pid/mariadb.pid 将pid文件存放到指定目录
#include all files from the config directory
#!includedir /etc/my.cnf.d 原本是没有注释的,现在加上注释,因为他包含的是/etc/my.cnf.d目录下的文件,我们不需要
将三个实例只要稍微修改即可
创建脚本
#!/bin/bash
#chkconfig: 345 80 2
port=9527 端口号
mysql_user="root" 指定数据库用户
mysql_pwd="" 指定数据库的密码
cmd_path="/app/mysql/bin" 指定命令路径
mysql_basedir="/opt/mysql" 指定数据库基本目录
mysql_sock="$mysql_basedir/$port/socket/mysql.sock" 指定本端口启动的socket文件
function_start_mysql() 启动函数
if [ ! -e "$mysql_sock" ];then 检查socket文件
printf "Starting MySQL...\n"
$cmd_path/mysqld_safe --defaults-file=$mysql_basedir/$port/etc/my.cnf &> /dev/null & mysql启动服务用的是mysqld_safe命令
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
启动服务
/opt/mysql/9527/bin/mysqld start 可以考虑定义为别名
echo ‘PATH=/app/mysql/bin:$PATH‘ > /etc/profile.d/mysql.sh 添加PATH路径
. /etc/profile.d/mysql.sh 生效PATH
mysql -uroot -P9527 -S /opt/mysql/9527/socket/mysql.sock 进入mysql数据库,需要指定socket路径
完成
基于二进制安装的mariadb实现多实例(代码片段)
基于二进制安装的mariadb实现多实例 1、mariadb版本:10.2.23 2、二进制安装mariadb的shell脚本#!/bin/bashidmysql&>/dev/nullif[`echo$?`-ne0];thenuserdel-rmysql&>/dev/nulluseradd-r-u336-s/sbin/nologin-d/data/m 查看详情
二进制安装mariadb(代码片段)
第一个实验:实现二进制安装mariadb用脚本或ansible的role实现我们先手动执行一遍,能够更好的了解其流程第一步:将我们下载的mariadb二进制包解压由于我们下载的是二进制的程序包,所以,源码编译的步骤已经有人替我们做了... 查看详情
mysql的编译安装及多实例配置总结(代码片段)
编译安装MySQL+多实例编译安装MySQL编译环境MySQL版本CentOS7.6mariadb-10.2.23一、安装编译所需要的包yuminstallbisonbison-develzlib-devellibcurl-devellibarchive-develboostdevelgccgcc-c++cmakencurses-develgnutls-devellibxml2-developen 查看详情
linux之ansible安装多实例mariadb(代码片段)
Ansible安装多实例mariadb10.2.23堡垒机配置root家目录下放置mariadb二进制包[MonApr2919:52[email protected]~]#ls-rw-r--r--1rootroot456950538Apr2608:16mariadb-10.2.23-linux-x86_64.tar.gz在/data目录下创建ansible目录,内部创建roles文件夹[ 查看详情
编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的lamp架构(代码片段)
...操作系统描述10.0.0.7CentOS-7.9httpd+php(fastcgi模式)10.0.0.17MariaDB-10.4.22(通用二进制格式)mariadb服务器软件版本:apr-1.7.0.tar.bz2apr-util-1.6.1.tar.bz2httpd-2.4.46.tar.bz2php-7.4.28.tar.gzwordpress-5.4.1-zh_CN.tar.gzDiscuz_X3.4_SC_UTF8_20210630.zip实... 查看详情
centos7实现基于源码编译安装lamp的wordpress应用
计划实现:host1安装httpd,phphost2安装mariadb 准备软件:apr-1.6.2.tar.gz httpd-2.4.27.tar.bz2 &nbs 查看详情
centos7实现基于源码编译安装lamp的wordpress应用
计划:host1安装httpd,phphost2安装mariadb 准备软件:apr-1.6.2.tar.gz httpd-2.4.27.tar.bz2 查看详情
实验:实现多实例数据库的create和altercreate表(代码片段)
...提供服务时,就感觉是三个mysql服务器一样。(此实验与mariadb的版本无关)1、安装mariadb,[[email protected]~]#yuminstallmariadbLoadedplugins:fastestmirror,langpacksLoadingmirrorspeedsfromcachedhostfileInstalled:mariadb.x86_641:5.5.60-1.el7_5Complete![[email pr... 查看详情
实验:基于yum安装的多实例(代码片段)
实验:基于YUM安装的多实例1.安装mariadbyuminstallmariadb2.创建多实例对应的目录结构mkdir/mysql/3306,3307,3308/data,,socket,log,bin,pid-pvchown-Rmysql.mysql/mysql3.创建多实例的数据库文件mysql_install_db--datadir=/mysql/3306/data/--user 查看详情
centos6.9基于fpm模式编译安装实现lamp应用wordpress(代码片段)
**准备工作:1LinuxCentos6.92php-7.2.1.tar.bz23apr-1.6.3.tar.bz24apr-util-1.6.1.tar.bz25httpd-2.4.29.tar.bz26phpMyAdmin-4.0.10.20-all-languages.zip7wordpress-4.9.1-zh_CN.tar.gz8xcache-3.2.0.tar.bz29mariadb- 查看详情
一键编译安装lamp(代码片段)
...1.7.0.tar.gz,apr-util-1.6.1.tar.gz,httpd-2.4.39.tar.bz所有源码包mysql:mariadb-10.2.23.tar.gz源码包php:php-7.3.5tar.bz2源码包以上所有源码包存,以及一键安装脚本存放在root家目录下,运行一键安装脚本。脚本运行完毕,使用浏览器访问测试页一键... 查看详情
centos7源码安装mariadb(代码片段)
...,下载并解压安装包到指定目录下载地址:https://downloads.mariadb.org/可根据需要下载不同的软件版本tarxfmariadb-5.5.31-linux-x86_64.tar.gz-C/usr/local/2,创建mysql组和用户groupadd-r-g306mysqluseradd-r-g306-u306–d/data/mysqlmysql3,进入到解压目录中,... 查看详情
zabbix-4.0编译安装(代码片段)
系统环境OS:centos7.5software:zabbix4.0LTSDBSever:MariaDB-10.2.15一、需要先把数据库装上,这里用到的是mariadb二进制包安装1、下载二进制包,官网的下载路径:wgethttp://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.15/bintar-linux-x86_64/mariadb-10.2. 查看详情
剧本---ansible实现自动化安装mariadb(代码片段)
创建剧本构建思路,生成目录树[[email protected]ansible]#tree.├──ansible.cfg├──hostname.yml├──hosts├──mariadb.yml├──role_mariadb.retry├──role_mariadb_threng.yml├──role_mariadb.yml└──roles├──mariadb│??├──files│?? 查看详情
mariadb基于mha和galeracluster实现高可用(代码片段)
MySQL高可用MMM:MySQL主主复制管理器是一套灵活的脚本程序,基于perl实现,用来对mysqkreplication进行监控和故障迁移,并能管理mysqlmaster-master复制的配置(同一时间只有一个节点是可写的)MHA:对主节点进行监控,可实现自动故障... 查看详情
mysql-密码(代码片段)
密码修改密码mysqladmin-uroot-pcentospassword12345678注意:如果是基于编译安装实现多实例,可能会报错,error:‘Can‘tconnecttolocalMySQLserverthroughsocket‘/data/mysql/mysql.sock‘(40)‘Checkthatmysqldisrunningandthatthesocket:‘/data/mys 查看详情
centos7.4编译安装lamp(代码片段)
centos7.4编译安装lamplamp简介Linux+Apache+Mysql/MariaDB+PHP一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。apac... 查看详情
mysql5.7基于二进制编译多实例安装
mysql5.7基于二进制编译多实例安装cd/usr/local/src/wgethttps://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gztar-zxvfmysql-5.7.22-linux-glibc2.12-x86_64.tar.gzmvmysql-5.7.22-linux- 查看详情