一、使用mysqld_multi新建mysql实例
修改my.cnf
[mysqld_multi]
mysqld=/app/mysql/bin/mysqld_safe
mysqladmin=/app/mysql/bin/mysqladmin
user=mysql
[mysqld2]
port=3307
socket=/tmp/mysql2.sock
pid-file=/tmp/mysql2.pid
datadir=/app/mysql2/var
log=/app/mysql2/mysql2.log
初始化第二个数据库
mysql_install_db --datadir=/app/mysql2/var --user=mysql
启动mysql2
mysqld_multi start 2
使用socket登录实例
mysql -uroot -S/tmp/mysql2.sock
二、主从配置
修改my.cnf在[mysqld2]段落下增加
master-host = 127.0.0.1 #主ip
master-user=root #用来同步的数据库用户,建议单独建一个账户,这边偷懒
master-password=123456
replicate-ignore-db=mysql #忽略需要做主从的数据库,一般为mysql库
replicate-do-db=reptest #指定需要做主从的数据库
重启生效
三、主服务器宕机后主从报错
#以下部分为转载
1.在主服务器上执行
mysql>show master status;+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000004 | 308 | | |+------------------+----------+--------------+------------------+1 row in set (0.00 sec)
2.在从服务器上执行
mysql>change master to master_host='127.0.0.1',master_user='root',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=308; //注意不要断开,“308”无单引号。Mysql>start slave; //启动从服务器复制功能