mysql主从搭建流程


1,配置前准备

如果是在同一台服务器  需要配置环境变量并且停用以前的环境变量

复制新的mysql中my-default.ini复制一份改名为my.ini

进入my.ini添加配置

    [mysqld] 
#安装目录
basedir=D:\Mysql_Server_5.6.24
#运行目录
datadir=D:\Mysql_Server_5.6.24\data

#日志配置   如果配置此项需要将目录实现建好
log-error=D:\MysqlServer5.6\logs\error.log
log=D:\MysqlServer5.6\logs\mysql.log
long_query_time=2

log-slow-queries=D:\MysqlServer5.6\logs\slowquery.log

以管理员权限打开cmd   跳转到mysql的bin目录  安装 mysqld -install (服务器上只有一个mysql的情况)

   如果已经有了一个mysql 安装命令为   mysqld install mysql2(新的mysql名) --defaults-file="c:\wamp\bin\mysql2\mysql5.6.17\my.ini"  (新的mysql安装路径)

        

        --defaults-file参数用来制定配置文件位置防止多个服务冲突    

        如果同一台服务器有两个mysql需要更改端口号


net start mysql   启动mysql服务

Net stop mysql   停止mysql服务

(此配置可以不添加)Windows  添加服务:  [ 防止2个mysql服务冲突 ]

    sc create mysql2server binPath= "E:\MysqlServer5.6\bin\mysqld.exe"( 安装路径)

     TYPE= "own" start= "auto"(是否自动开启)

     TAG= "no" Display   

     Name= "mysql2server SERVICES"

2,配置mysql主从复制        (如果两个mysql版本不一样 在高版本配置中添加 binlog_checksum=none #不检测日志文件格式)

        1,添加一个mysql主从复制需要的用户账号

                在数据库中 新建查询中使用
                        GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* 
                        TO mysql_backup@'%'
                        IDENTIFIED BY '123456';
                刷新权限
                        flush privileges;

            2,配置主服务器        

                            

                        mysql配置文件加入:

                        server-id=1(必须要有   为服务器A的id)

                        log-bin=mysql-bin(二进制便跟日志)

                        binlog_ignore_db=mysql     # mysql这个库不同步

                        binlog_do_db=test               # 要同步的数据库

       重启master,    

          service mysqld start

          service mysqld stop

        运行SHOW MASTER STATUS,输出如下:

        

            3,配置从服务器

                           在从服务器的mysql配置中
                            

                                log_bin           = mysql-bin

                               server_id         = 2(服务器B的id)

                               relay_log          = mysql-relay-bin(中继日志)

                               read_only         = 1        (设置权限  只有查的权限)

                     在数据库中 从服务器新建查询

                            连接主库       show master status  查看要连接的  master_log_file    master_log_pos

                            CHANGE MASTER TO master_host = '127.0.0.1',

                             master_user = 'mysql_backup',            (账号)

                             master_password = '123456',                   (密码)

                             master_log_file = 'mysql-bin.000001',   

                             master_log_pos = 3696                        (这两个可以再主库中  执行 show master  status 看到)

                               启动从库   start salve

                                停止从库   stop  salve

                               查看从库状态

                                                                                                           

                                    show salve status 

                                    如果io线程  与 sql线程 都是yes  就完成了



                    清除主服务器的日志   reset master



    




猜你喜欢

转载自blog.csdn.net/qq_41949579/article/details/80441512