mysql主从

生成配置文件

cat <<EOF | tee /etc/mysql_330{6,7}.cnf
[server]
port=3306
datadir=/usr/local/mysql/data_3306
socket=/usr/local/mysql/data_3306/mysql.sock
pid_file=/usr/local/mysql/data_3306/mysql.pid
explicit_defaults_for_timestamp=on
log_timestamps=SYSTEM

[client]
port=3306
socket=/usr/local/mysql/data_3306/mysql.sock

[mysqld]

[mysqld_safe]
mysqld-safe-log-timestamps=SYSTEM
EOF

sed -i 's/3306/3307/g' /etc/mysql_3307.cnf

生成启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql_3306
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql_3307
sed -i 's/Provides:.*/Provides: mysql_3306/' /etc/init.d/mysql_3306
sed -i 's/Provides:.*/Provides: mysql_3307/' /etc/init.d/mysql_3307
sed -i 's/Default-Start:.*$/Default-Start: 2 3 5/' /etc/init.d/mysql_3306
sed -i 's/Default-Start:.*$/Default-Start: 2 3 5/' /etc/init.d/mysql_3307
sed -i 's/\($bindir\/mysqld_safe\) --datadir="$datadir" --pid-file="$mysqld_pid_file_path"/\1 --defaults-file=\/etc\/mysql_3306\.cnf/' /etc/init.d/mysql_3306
sed -i 's/\($bindir\/mysqld_safe\) --datadir="$datadir" --pid-file="$mysqld_pid_file_path"/\1 --defaults-file=\/etc\/mysql_3307\.cnf/' /etc/init.d/mysql_3307
sed -i 's/^mysqld_pid_file_path=.*/mysqld_pid_file_path=\/usr\/local\/mysql\/data_3306\/mysql.pid/' /etc/init.d/mysql_3306
sed -i 's/^mysqld_pid_file_path=.*/mysqld_pid_file_path=\/usr\/local\/mysql\/data_3307\/mysql.pid/' /etc/init.d/mysql_3307
chkconfig --add mysql_330{6,7}

添加环境变量
cat > /etc/profile.local <<EOF
export PATH=$PATH:/usr/local/mysql/bin
export MANPATH=$MANPATH:/usr/local/mysql/man
EOF

创建数据目录
mkdir -p /usr/local/mysql/data_330{6,7}
chmod 600 /usr/local/mysql/data_330{6,7}
chown mysql:mysql /usr/local/mysql/data_330{6,7}

初始化数据库
/usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql_3306.cnf --initialize-insecure --user=mysql
/usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql_3307.cnf --initialize-insecure --user=mysql
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data_3306
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data_3307
chown mysql:mysql /usr/local/mysql/data_3306/*.pem
chown mysql:mysql /usr/local/mysql/data_3307/*.pem

启动数据库
service mysql_3306 start
service mysql_3307 start

建立主从用户
CREATE USER 'repl'@'%' IDENTIFIED BY 'mysql';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

导出主机数据库数据 --single-transaction针对innodb表可以避免锁库 --master-data=2使得导出的sql中change master语句被注释掉
mysqldump -uroot -pmysql --socket=/usr/loca/mysql/data_3306/mysql.sock --all-databases --single-transaction --master-data=2 >dbdump.sql

在从机配置主从连接
CHANGE MASTER TO
MASTER_HOST='localhost',
MASTER_USER='repl',
MASTER_PASSWORD='mysql',
MASTER_PORT=3307,
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=923;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值