1. 程式人生 > >mysql多實例腳本

mysql多實例腳本

mysql多實例腳本 mariadb多實例腳本

##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多實例腳本