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