使用centos 配置完成mariadb后 验证登录:
创建用户:
GRANT ALL PRIVILEGES ON *.* TO xxx@"%" IDENTIFIED BY 'xxx.sr' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO xxx@"localhost" IDENTIFIED BY 'xxx.sr' WITH GRANT OPTION;
配置主服务器:
编辑主master服务器配置文件/etc/my.cnf
在[mysqld]节点下加入两句话:
server-id=1 # 表示服务器的ID,此为唯一机器标识。
log-bin=mysql-bin # 启用二进制日志;表示开启bin-log日志功能,这样I/O才会将日志复制到从机的rely-log中。
binlog-do-db=test # 标识对指定数据库做日志记录,如果对多个数据库做日志记录,需加','分隔。
binlog-ignore-db=mysql # 标识不对指定数据库做日志记录
然后重启服务:systemctl restart mariadb
登录mysql:mysql –uroot -proot
mysql>show master status; #查看MASTER状态(这两个值File和Position)其中的file就是二进制文件,position记录当前操作sql的步骤数(注意一条sql包含多步,所以不是sql语句的条数)
一般情况下,第一次显示position的数量是120
配置从服务器:
修改/etc/my.cnf增加一行
log-bin=mysql-bin
server-id=2
replicate-do-db = 同步的数据库
replicate-ignore-db = 非同步的数据库
然后重启服务器
systemctl restart mariadb
通过mysql命令配置同步日志的指向:
mysql>change master to master_host=‘192.168.41.41’,master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=120;
master_host 主服务器的IP地址(内网地址)
master_port 主服务器的PORT端口
master_log_file 和主服务器show master status中的File字段值相同
master_log_pos 和主服务器show master status中的Position字段值相同
mysql>start slave; #stop slave;停止服务,出错时先停止,再重新配置 mysql>show slave statusG; #查看SLAVE状态,G结果纵向显示。必须大写,这个命令无法再sqlyog中使用
如果出现问题:error connecting to master 'root@192.168.41.41:3306' - retry-time: 60 retries: 86400 message: Access denied for user 'root'@'192.168.41.42' (using password: YES)
建议:
mysql>stop slave; ###更改使用之前创建用户 mysql>change master to master_host=‘192.168.41.41’,master_port=3306,master_user='xxx',master_password='xxx.sr',master_log_file='mysql-bin.000001',master_log_pos=120;
slave_io_running:表示同步日志的io进程
slave_sql_running:表示执行同步sql命令的进程
这个2个必须为yes,否则表示配置失败(如果配置失败请检查3306端口是否有对外开放)
systemctl restart mariadb //重启服务器
测试: 主服务器创建数据表添加数据 看从数据库是否同步
主库创建 删除数据库,查看观察日志
user@localhost [(none)]> show binlog events in 'mysql-bin.000045'; +------------------+-----+-------------+-----------+-------------+----------------------------------------------+ | Log_name | Pos | Event_type | Server_id | End_log_pos | Info | +------------------+-----+-------------+-----------+-------------+----------------------------------------------+ | mysql-bin.000045 | 4 | Format_desc | 1 | 245 | Server ver: 5.5.65-MariaDB, Binlog ver: 4 | | mysql-bin.000045 | 245 | Query | 1 | 356 | create database `zhu_demo`character set utf8 | | mysql-bin.000045 | 356 | Query | 1 | 447 | drop database `zhu_demo` | | mysql-bin.000045 | 447 | Query | 1 | 558 | create database `zhu_cong`character set utf8 | | mysql-bin.000045 | 558 | Query | 1 | 645 | create database darren | | mysql-bin.000045 | 645 | Query | 1 | 732 | drop database `darren` | +------------------+-----+-------------+-----------+-------------+----------------------------------------------+ 6 rows in set (0.00 sec)