• 202-如何事项mysql主从复制?


    7.如何实现了mysql的主从复制呢?
        0.创建3307目录,并初始化数据库
            ./mysqld --initialize-insecure --basedir=/usr/local/software/mysql-5.7.18 --datadir=/usr/local/software/mysql-5.7.18/data/3307 --user=mysql

        1.先配置my.cnf文件,将一个数据库设置成主数据库。
            log-bin=mysql-bin #设置数据为主数据库
            server-id=3307    #设置数据库的id,这里我们使用的是端口号,真是环境我们使用的是ip(去点)


        2.启动数据库服务,并进入数据库
            ./mysqld_safe --defaults-file=/usr/local/software/mysql-5.7.18/data/3307/my.cnf &
            ./mysql -uroot -p -P3307 -h127.0.0.1

            注意:我们这里使用的是多实例模式,所以不管是启动服务端,还是就如客户端需要指定启动文件与端口。-h127.0.0.1不能省略,要不然后启动的会不一样。

        3.然后给主数据添加一个用户copy,使其具有操作数据库的能力。
            alter user 'root'@'localhost' identified by '123123';设置mysql的密码,因为我们启动的时候没有设置密码
            grant all privileges on *.* to root@'%' identified by '123123';  #设置可以远程访问
            grant replication slave on *.* to 'copy'@'%' identified by '123123';

        4.在从数据库中,指定他的主数据库
            change master to master_host='192.168.159.128',master_user='copy',
            master_port=3307,master_password='123123',
            master_log_file='mysql-bin.000001',master_log_pos=154;
            这里面指定了主数据库的ip地址与端口,以及操作数据库的用户copy,还有主数据库的密码。
            然后还制定了数据库的二进制文件,以及二级制文件的偏移量154.

        5.在从数据库中开启slave。注意看slave的io线程与sql线程有没有启动。
            start slave;

        6.常用命令:
            1)start slave;
            2) stop  slave;
            3)reset slave;#重置slave我们需要先关闭slave
            4) show slave status G; #标准查看slave的相关信息。
            5)show master status;
            6) reset master;
            6)./mysqladmin -uroot -p -P3307 -h127.0.0.1 shutdown; #关闭数据库服务端

    其实整整的mysql主从复制,其实就只有三步:

      1.更改配置my.cof配置文件,主从数据库都要更改。

      2.主数据库中创建一个copy用户,并重置master。

      3.从数据中进行关联主数据库,并启动slave进程。

    值得注意一点的是,我们在设置两个主数据库的时候,需要在主配置文件中添加主键自增为2

    auto_increment_increment=2 #主键自增单位是2
    auto_increment_offset=1 #不一样的点 相当于起始值
    log-slave-updates         #将同步过来的数据也放到二进制文件。
    sync_binlog=1            #每提交一次事务,就放到二进制文件 
  • 相关阅读:
    非递归前序遍历,效率高 和 中序遍历代码都相似
    递归-变量-堆栈-透彻理解
    Linux 进程管理
    5linux引导流程解析
    Linux 软件包管理
    vim
    Linux常用命令
    Linux 系统安装
    linux 应用和发展
    贴图、纹理、材质的区别是什么? 还有shader
  • 原文地址:https://www.cnblogs.com/pogusanqian/p/12978618.html
Copyright © 2020-2023  润新知