mysql主从同步配置(亲测有效)

mysql复制数据库

mysqldump test -u root -p123456 --add-drop-table | mysql test_1 -u root -p123456

参数解释:test:origin database 

                  test_1:target database

在shell 里面执行mysql -u root -p 如果正常,则在修改后复制第一行命令于shell中执行

有的建表语句在执行复制的时候会报错,不如直接导出表结构以及数据,使用source c:\eg\eg.sql的形式进行复制数据库数据。

mysql创建可以远程连接的用户并赋权限

ps:给不同用户不同权限,所有都可以连接,指定ip指定权限,没找到这么操作的命令!!!

创建账号=test,可以任何端登陆的用户

create user 'test'@'%' identified by 'Mm123456';

赋予权限(赋值从属库)

grant replication SLAVE on *.* to 'test'@'%';

赋予查看权限

grant select on *.* to 'test'@'%'

mysql设置数据库主从

Windows系统mysql为Master,Linux为Slave

修改Master配置文件

#唯一,要与Slave的不同

server-id = 1

# Binary Logging 开启二进制日志

log-bin= mysql-bin

修改Slave配置文件

linux系统mysql,vim /etc/my.cnf 有可能设置失败,

可以使用命令:set global server_id = '2';

查看:show variables like '%server_id%';

修改配置文件如下

#唯一,要与Master的不同

server-id = 2

# Binary Logging 开启二进制日志

log-bin= mysql-bin

主从数据库设置开启命令

Master命令

mysql > show master status;

mysql主从同步配置(亲测有效)_第1张图片

Slave命令

windows 和 linux 主从复制可能会报错

解决地址:主从复制报错2061:Authentication plugin 'caching_sha2_password' reported error:Authentication require secure connection - 錵開や落幕 - 博客园 

使用解决方案1即可

mysql -u slave -pMm123456 -h 192.168.147.1 -P3306 --get-server-public-key

以上Mm123456作为下文中的密码即可成功开启主从同步

# 192.168.147.1为 主服务器 ip

CHANGE MASTER TO MASTER_HOST='192.168.147.1',

MASTER_USER='slave',

MASTER_PASSWORD='Mm123456',

#这个是上文中查Master的图里面的第一个参数,文件名

MASTER_LOG_FILE='mysql-bin.000001',

#这个是上文中查Master的图里面的第二个参数,pos,偏移量

MASTER_LOG_POS=12903;

slave执行以下命令

mysql > start slave

mysql > show slave status\G

mysql主从同步配置(亲测有效)_第2张图片

 如上图则成功,如果有报错,可以在上面这个图的下面看到有一个error的对应信息,解决问题即可。

最后就自己随便建个表,然后验证即可。我这里没有设置实际生产中失败继续那个条件,也没怎么看以后用到再说吧。现在就是学习阶段。

你可能感兴趣的:(#,mysql数据库相关,mysql,数据库,database)