mysql多实例脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql多实例脚本相关的知识,希望对你有一定的参考价值。

##mariadb和mysql-server的通用多实例脚本。

vi  mdp.sh   脚本内容参考内容如下

#!/bin/bash

echo ‘等待mariadb-server或mysql-server服务软件安装完毕‘

while  true

do

yum  install -y  mariadb-server  mariadb &>/dev/null

yum  install -y  mysql-server  mysql &>/dev/null

netstat  -atunlp| grep  330

read  -p  ‘请输入MYSQL实例端口号,例如3306、3307等:‘  x

n=$(echo $x|cut -c 4)

netstat  -atunlp | grep  $x

if [ $?  -eq  0 ];then

  echo "$x实例已存在,无需再创建"

else  {

mkdir  -pv  /data/$x

chown  -Rv  mysql.mysql  /data

mysql_install_db  --datadir=/data/$x  --user=mysql

#y="/data/$x/$x"

cat  > /data/$x/$x.cnf <<EOF

[mysqld_multi]

mysqld=/usr/bin/mysqld_safe

mysqladmin=/usr/bin/mysqladmin


[mysqld$x]

user=mysql

port=$x

socket=/data/$x/$x.sock

pid-file=/data/$x/$x.pid

log-error=/data/$x.log

datadir=/data/$x

max_connections=200

default-storage-engine=innodb

character_set_server=utf8

server-id=$n

log-bin=/data/$x/mysql-bin


EOF


mysqld_multi --defaults-file=/data/$x/$x.cnf start $x

#mysqld_multi --defaults-file=/data/$x/$x.cnf stop $x

sleep  3s

mysqld_multi --defaults-file=/data/$x/$x.cnf report

netstat  -atunlp| grep  330


mysql  -uroot -P3306 -S /data/$x/$x.sock -e "grant replication slave on *.* to [email protected]‘%‘ identified by ‘repl‘;flush  privileges;"

mysql  -uroot -P3306 -S /data/$x/$x.sock -e "grant all on *.* to [email protected]‘%‘ identified by ‘admin‘;flush  privileges;"

mysql  -uroot -P3306 -S /data/$x/$x.sock -e "show databases;show master  status;"

}

fi

done



配置从服务器

mysql -uadmin -padmin  -h 192.168.100.6 -P3307

CHANGE MASTER TO MASTER_HOST=‘192.168.100.6‘,MASTER_USER=‘repl‘,MASTER_PASSWORD=‘repl‘,MASTER_PORT=3306,MASTER_LOG_FILE=‘mysql-bin.000001‘,MASTER_LOG_POS=106;

start  slave;

show  slave  status\G



以上是关于mysql多实例脚本的主要内容,如果未能解决你的问题,请参考以下文章

多实例MySQL启动脚本

mysql多实例脚本

mysql多实例脚本

mysql多实例脚本

开发mysql单实例或多实例启动脚本

Mysql多实例之mysql服务脚本