首先,在D盘创建dbt用于存放三个主从数据库mysql_z主数据库,mysql_c1从数据库1,mysql_c2从数据库2
创建配置my.ini
mysql_z 的my.ini
[mysqld]
port=3300
server_id=100
log_bin=binlog
mysql_c1的my.ini
[mysqld]
port=3301
server_id=101
log_bin=binlog
mysl_c2的my.ini
[mysqld]
port=3302
server_id=102
log_bin=binlog
binlog_do_db=db
binlog_ignore_db=information_schema,mysql,performance_schema,sys
read_only=on
super_read_only=on
限制条件
binlog_do_db=db
binlog_ignore_db=information_schema,mysql,performance_schema,sys
read_only=on
super_read_only=on
初始化D:\dbt\mysql_z\bin>mysqld --initialize-insecure,安装D:\dbt\mysql_z\bin>mysqld --install mysql_z,启动D:\dbt\mysql_z\bin>net start mysql_z。注:要以管理员的省份进入到bin文件下操作
主数据库配置D:\dbt\mysql_z\bin>title 3300 master,进入mysql_z 数据库里进行操作 D:\dbt\mysql_z\bin>mysql -uroot -P3300,
建立账号:mysql>create user repl identified with mysql_native_password by 'repl';
授权:mysql>grant replication slave on *.* to repl;
刷新:mysql>flush privileges;
从数据库配置:进入mysql_c1 的bin下操作D:\dbt\mysql_c1\bin>mysql -uroot -P3301
mysql>change replication source to
source_host='127.0.0.1',
source_user='repl', //主数据库建立的账号
source_password='repl', //主数据库账号的密码
source_port=3300, //主数据库的端口号
source_log_file='binlog.000003', //主数据库File名称
source_log_pos=827; //主数据库 Position
mysql>show slave status \G
mysql_c2同上,也可以不要,从数据库有一个或多个都行
结果:
1、主数据库上的数据,从可见如:mysql_z上的操作mysql_c1和mysql_c2都可以看见
2、从之间不可见如:mysql_c1和mysql_c2互相不可见
3、从数据,主不可见mysql_c1的操作mysql_z不可见
4,mysql_c2只有读操作