MySQLマルチインスタンス構成スクリプト

2278 ワード

#!/bin/bash

echo "  MySQL   --------"
ln -s /usr/local/mysql-5.6.22  /usr/local/mysql
mkdir -p /data/mysql_330{7,8}
chown -Rv mysql.mysql /data
echo "          。。。。。。"

cat >> /etc/my.cnf << EOF
[client]
#port = 3306
#socket = /tmp/mysql.sock
#default-character-set = utf8

[mysql]
#default-character-set = utf8

[mysqld3307]
port = 3307
basedir = /usr/local/mysql
datadir = /data/mysql_3307
socket  = /tmp/mysql_3307.sock
slow_query_log_file = /data/mysql_3307/slow.log
log-error = /data/mysql_3307/error.log
log-bin = /data/mysql_3307/mysql-bin
sync_binlog = 1
binlog_format = row
transaction_isolation = REPEATABLE-READ
innodb_buffer_pool_size = 100m

[mysqld3308]
port = 3308
basedir = /usr/local/mysql
datadir = /data/mysql_3308
socket = /tmp/mysql_3308.sock
slow_query_log = 1
slow_query_log_file = /data/mysql_3308/slow.log
log-error = /data/mysql_3308/error.log
long_query_time = 1
log-bin = /data/mysql_3308/mysql-bin
sync_binlog = 1
binlog_cache_size = 4M
default-storage-engine = InnoDB
binlog_format = row
transaction_isolation = REPEATABLE-READ
innodb_buffer_pool_size = 100m

[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe
mysqladmin=/usr/local/mysql/bin/mysqladmin


[mysqldump]
quick
max_allowed_packet = 32M

EOF

echo "MySQL          "
echo  "export  PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib:/usr/local/mysql/scripts"  >>/etc/profile

source  /etc/profile
if [[ $? -eq 0 ]]; then
    echo "        !"
else
    echo "        !"
fi

echo "        "
mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql_3307 --defaults-file=/etc/my.cnf --user=mysql
mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql_3308 --defaults-file=/etc/my.cnf --user=mysql

echo "       "
mysqld_multi --defaults-file=/etc/my.cnf --user=root  start 3307
mysqld_multi --defaults-file=/etc/my.cnf --user=root  start 3308
sleep 30s
mysqld_multi  report
lsof  -i :3307
lsof  -i :3308
mysqld_multi report
echo "    。。。"
mysqladmin -uroot password 'redhat' -P3307 -h 127.0.0.1
create  database  3307db;
show databases;
mysqladmin -uroot password 'redhat' -P3308 -h 127.0.0.1
create  database 3308db;
show databases;