首页 > 代码库 > mysql多实例脚本

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 repl@‘%‘ identified by ‘repl‘;flush  privileges;"

mysql  -uroot -P3306 -S /data/$x/$x.sock -e "grant all on *.* to admin@‘%‘ 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



本文出自 “网络技术天地” 博客,请务必保留此出处http://1364952.blog.51cto.com/1354952/1952215

mysql多实例脚本