MariaDB 多实例安装
今天给大家做个 单点多实例MariaDB数据库小实验。
废话不多说,开始;
首先要 yum 安装或 二进制安装 或编译安装,这一节 我不不做详述,网上有很多类似的文章,如果需要,后续时间允许,我们另起文章,详述。
实验环境:
首先配置yum源,
https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft&distro=CentOS&distro_release=centos7-amd64--centos7&version=10.2
以上是 Mariadb 官方yum源配置页面
在/etc/yum.repo.d/目录下,创建MariaDB.repo 文件,将图上的内容粘贴上去,类似与下图
执行 yum install -y MariaDB-server
一路OK!
安装好后 类似于这样:
由于我们要是做同版本的MariaDB的多实例,因此 服务程序不需要安装多次。一套程序即可。
为了便于管理,我们不不同实例的不同配置程序文件,放在不同的目录下,
执行;mkdir -pv/sqlserver/{3307,3308,3309}/{etc,pid,log,socket,data}
给出相应权限;
chown -R mysql. /sqlserver/
三套实例的相应目录建立起来后,准备相应的配置文件,必要的文件有,my.cnf,配置文件,init.d下,相应的mysqld.service 服务启动脚本。
我们以默认情况下,/etc目录下的my.cnf为模板,复制三份 分别放在相应的目录下:
cp /etc/my.cnf /sqlserver/3307/etc/
cp /etc/my.cnf /sqlserver/3308/etc/
cp /etc/my.cnf
/sqlserver/3309/etc/
修改相应的配置:
三套文件都需要准备,做相应修改。
准备启动服务脚本,并做相应配置:
#!/bin/bash
port=3307
mysql_user="root"
mysql_pwd=""
cmd_path="/usr/local/mysql/bin/"
mysql_basedir="/sqlserver"
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} -S ${mysql_sock} shutdown
# ${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
当三套文件准备好后,服务可以启动了,记得给脚本运行权限哦
chmod 700 mysqld
执行./ mysqld start
[[email protected]/sqlserver]# ./3307/mysqld start
Starting MySQL...
[[email protected]/sqlserver]# ./3308/mysqld start
Starting MySQL...
[[email protected]/sqlserver]# ./3309/mysqld start
Starting MySQL...
服务启动成功。多实例实验完成
其中有几个小细节要注意一下:
第一个就是配置文件的端口号要写正确。
第二个是 权限一定要正确
第三个是服务启动脚本的配置变量一定要争确,
登录mysql 实例,
mysql -S /sqlserver/3307/socket/mysql.sock-------------指定socket 文件
MariaDB [(none)]>