mariadb,mysql数据库主从同步异步复制服务器
一、目标
设置mariadb主从服务器,实现在主服务器上增删改查表是,能在从服务器上同步,或异步更改。但从服务器不用同步到主服务器,即不用实现主主服务器。
使用场景1:主服务器实现数据变更,从服务器实现数据查询。
使用场景2:异步方式,主服务器实现数据变更,从服务器实现数据移动和导出。
二、设置
(一)主从一样的设置
vi /etc/my.cnf
(二)主服务器设置
#新增
log_bin=marster-bin
#binlog_ignore_db=mysql
server_id=161
##
(三)从服务器设置
#新增
log_bin=slave-bin
#binlog_ignore_db=mysql
server_id=162
##
三、使用mariadb的root用户进入数据库操作
(一)一样的操作
mysql -u root -p
输入密码:
(二)主服务器操作
# 给root 用户赋权
MariaDB [(none)]> grant all privileges on *.* to 'root'@'%' identified by '密码';
# 创建用户
MariaDB[(none)]>create user 'mslave'@'%' identified by '密码';
# 赋予权限
MariaDB [(none)]> grant replication slave on *.* to 'mslave'@'%' identified by '密码';
# 刷新执行
MariaDB [(none)]> flush privileges;
# 查看状态
MariaDB [(none)]> show master status \G;
quit
#重启数据服务
systemctl restart mariadb
(三)从服务器操作
# 给root 用户赋权
MariaDB [(none)]> grant all privileges on *.* to 'root'@'%' identified by '密码';
# 下句执行时,可能要先stop slave;
MariaDB [(none)]> change master to master_host='主服务器ip',master_user='mslave',master_password='
密码',master_log_file='master-bin.000001',master_log_pos=392;
# 启动slave
MariaDB [(none)]> start slave;
# 查看状态
MariaDB [(none)]> show slave status \G;
注意:master_log_file、master_log_pos要使用show master status;中的内容
三、数据库操作
#查看数据库
show databases;
#查看表
show tables;
#新建表
create table a1(
-> id int,
-> name varchar(10),
-> age int);