前期规划:
- 配置文件 3份:/root/mysql/data/330{7..9}/my.cnf
- 数据目录 3份:/root/mysql/data/330{7..9}/data
- 初始化数据目录 3次:
- 日志目录 3份: /root/mysql/log/330{7..9}
- socket 3份:/tmp/mysql330{7..9}.sock
- 端口 3份:port=3307, 3308, 3309
- server_id 3个: server_id=7, 8, 9
配置过程:
创建需要的目录:
创建数据目录:
mkdir -p /root/mysql/data/330{7..9}/data
创建mysql 普通log文件
touch /root/mysql/data/330{7..9}/mysql.log
创建binlog目录:
mkdir -p /root/mysql/log/330{7..9}
创建3份配置文件
cat > /root/mysql/data/3307/my.cnf <<EOF [mysqld] basedir=/root/mysql/database/mysql datadir= /root/mysql/data/3307/data socket=/tmp/mysql3307.sock log_error=/root/mysql/data/3307/mysql.log port=3307 server_id=7 log_bin=/root/mysql/log/3307/mysql-bin EOF
cat > /root/mysql/data/3308/my.cnf <<EOF [mysqld] basedir=/root/mysql/database/mysql datadir= /root/mysql/data/3308/data socket=/tmp/mysql3308.sock log_error=/root/mysql/data/3308/mysql.log port=3308 server_id=8 log_bin=/root/mysql/log/3308/mysql-bin EOF
cat > /root/mysql/data/3309/my.cnf <<EOF [mysqld] basedir=/root/mysql/database/mysql datadir= /root/mysql/data/3309/data socket=/tmp/mysql3309.sock log_error=/root/mysql/data/3309/mysql.log port=3309 server_id=8 log_bin=/root/mysql/log/3309/mysql-bin EOF
初始化数据:
设置用户组、用户:
chown -R mysql.mysql /root/mysql/data /root/mysql/log
关闭3306的conf文件:(初始化完成后,可恢复)
mv /etc/my.cnf /etc/my.cnf.bak
数据初始化:
mysqld --initialize-insecure --user=root --datadir=/root/mysql/data/3307/data --basedir=/root/mysql/database/mysql mysqld --initialize-insecure --user=root --datadir=/root/mysql/data/3308/data --basedir=/root/mysql/database/mysql mysqld --initialize-insecure --user=root --datadir=/root/mysql/data/3309/data --basedir=/root/mysql/database/mysql
准备多实例启动脚本:
本次不采用脚本启动,有兴趣,可以参考:https://blog.51cto.com/12643266/2298643
启动多实例:
启动:
/root/mysql/database/mysql/bin/mysqld_safe --defaults-file=/root/mysql/data/3307/my.cnf & /root/mysql/database/mysql/bin/mysqld_safe --defaults-file=/root/mysql/data/3308/my.cnf & /root/mysql/database/mysql/bin/mysqld_safe --defaults-file=/root/mysql/data/3309/my.cnf &
关闭:
/root/mysql/database/mysql/bin/mysqladmin -uroot -p -S /tmp/mysql3307.sock shutdown /root/mysql/database/mysql/bin/mysqladmin -uroot -p -S /tmp/mysql3308.sock shutdown /root/mysql/database/mysql/bin/mysqladmin -uroot -p -S /tmp/mysql3309.sock shutdown
登录mysql:
mysql -uroot -P3307 -S /tmp/mysql3307.sock mysql -uroot -P3308 -S /tmp/mysql3308.sock mysql -uroot -P3309 -S /tmp/mysql3309.sock