mysql主从搭建

 一、原理
mysql主服务器把各种操作已二进制的格式记录到bin-log里,从连接主,并读取bin-log,实现数据同步
备份:mysqldump  -uroot -p 123456  db >1.sql
导入:mysql -uroot -p 123456 db < 1.sql 

 二、准备工作
 然后导出主的mysql库数据然后导入给db1
mysqldump -uroot -S /tmp/mysql2.sock mysql > 123.sql ;
mysql -uroot -S /tmp/mysql2.sock db1 < 123.sql 

三、配置

1.配置Master主服务器

(1)找到配置文件my.cnf,启动二进制文件。

  server-id=1        #给数据库服务的唯一标识,一般设置为ip的末尾号
  log-bin=mysql-bin  #开启二进制日志

(2)进入mysql

   设置root密码:mysqladmin -uroot password  '123456' 
   进入数据库   :mysql -uroot -p123456

(3)创建授权账户,给replication(复制)权限,从服务器IP为105

   GRANT REPLICATION SLAVE  ON  *.* TO  'repl'on'192.168.1.105' INDENTIFIED BY '123456'

(4)查看日志

  mysql>show master status;
     +-------------------+----------+--------------+------------------+
     | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
     +-------------------+----------+--------------+------------------+
     | master-bin.000001 | 1285 | | |
     +-------------------+----------+--------------+------------------+
     1 row in set (0.00 sec)

 (5)重启mysql服务

 2.配置Slave从服务器

(1)找到配置文件my.cnf,修改唯一ID

   server-id=2

(2)重启mysql服务

(3)连接Master

  change master to master_host='192.168.1.106',  #master服务器的IP地址
  master_port=3306,
  master_user='repl',
  master_password='123456',
  master_log_file='master-bin.000001',           #master服务器产生的日志
  master_log_pos=0;

  (4)启动slave

    start slave;

(5)检查从库状态

   show slave status\G;
   slave_IO_running=yes


你可能感兴趣的:(二进制,服务器,配置文件,password,数据库服务)