linux mysql停止主从_linux的mysql主从

数据库备份命令:mysqldymp -u username -p password -B databaseName > fileName.sql

拷贝到从服务器:scp fileName.sql 从IP:/root    //IP:要拷贝到的目录

一、主---从

主服务器:

1、停止数据库:service mysqld stop  /  systemctl stop mariadb(7版本以上)

2、配置文件:vim /etc/my.cnf

定义为主服务器:server-id=1

用户二进制日志:log-bin=mysql-bin-master(名字随意起)

定义复制哪个库:binlog-do-db=数据库名

定义哪个库不可以复制:binlog-ignore-db=mysql(数据库名)

3、重启数据库:service start mysqld / systemctl start mariadb

4、登录数据库授权:创建用户给从服务器

grant    replication     slave on    *.*    to slave@从IP    identified by "1234"

(复制权限)     (所有表)                         (密码)

密码不符合要求,修改密码要求:

定义密码长度:set global validate_password_policy=0;

定义默认长度:set global validate_password_length=1;

5、刷新权限:flush privileges;

6、查看二进制:show master sttus;

7、查看二进制事件:show binlog events \G

从服务器

1、测试登录远程mysql:mysql -uuserName -ppassword -h 主IP

2、导入:mysql -uuserName -ppassword

3、停止mysql

4、修改配置文件:

vim /etc/my.cnf

server=2

5、重启、进入mysql(root)

6、指定从哪个master(主):

change master to master_host='主IP';master_user="主名",master_password="主密";

7、重启从:start  从名

8、查看从的状态:show 从名 status \G(以行形式查看)

排错:

如果遇到主从不同步,看一下主从bin-log的位置,然后再同步

主---show master status \G

从---show 从名 status \G

强制同步

在主服务器指定file和position

在从服务器运行:

change master to master_log_file='file名';

master_log_pos=position值

在执行前先停止从:stop 从名

执行后启动从:start 从名

排错思路:

1、二进制日志有没有开启

2、IPTABLES有没有开放端口

3、对应的主机IP地址有没有写错

sql线程出错:

1、主从服务器数据库不统一:

出错后,数据少,可手动解决创建插入,再更新从的状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值