首页 > 数据库技术 > 详细

mysql主从

时间:2016-02-17 22:38:27      阅读:313      评论:0      收藏:0      [点我收藏+]


sql192.168.197.130

sql192.168.197.131


更新时间

ntpdate 1.asia.pool.ntp.org

 

  • 解压mysql

[root@localhost src]# tar zxvf  mysql-5.5.47-linux2.6-x86_64.tar.gz

[root@localhost mysql]# mv mysql-5.5.47-linux2.6-x86_64  /usr/local/mysql/

 

从:[root@localhostmysql]#cp  -r /usr/local/mysql  /usr/local/mysql_slave

 

  • 创建MySQL用户

 

  • 复制启动脚本

[root@localhost mysql]# cp support-files/my-small.cnf/etc/my.cnf

[root@localhost mysql]# cp support-files/mysql.server  /etc/init.d/mysqld

[root@localhost ~]# vim /etc/init.d/mysqld

46 basedir=/usr/local/mysql                                                    

 47datadir=/data/mysql   

 

从:[root@localhostmysql]#cd mysql_slave

[root@localhost ~]#cp /etc/my.mysql /usr/local/mysql_slave

[root@localhost~]#cp /etc/init.d/mysqld /etc/init.d/mysqld_slave

[root@localhost~]#vim /usr/local/mysql_slave

27 port            = 3307

28 socket          = /tmp/mysql_slave.sock

38 datadir         =/data/mysql_slav4e

46 server-id       = 11

49log-bin=mysql-bin

[root@localhost ~]# vim /etc/init.d/mysqld_slave

46 basedir=/usr/local/mysql_slave                                                   

47 datadir=/data/mysql_slave   

48 conf=$basedir/my.cnf

 

  • 生成配置文件

[root@localhost mysql]# ./scripts/mysql_install_db--user=mysql --datadir=/data/mysql

[root@localhostmysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql_slave

 

  • 启动服务

[root@localhost ~]# service mysqld restart

[root@localhost ~]#servicemysqld_slave restart

 

  • 登陆mysql

[root@localhost ~]#/usr/local/mysql/bin/mysql

[root@localhost~]#/usr/local/mysql_slave/bin/mysql_slave

 

七、创建一个库

[root@localhost ~]# vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin/

 

[root@localhost ~]# mysql –uroot

mysql> create database myhong;

  • 拷贝一个sql文件,还原文件。

(主)[root@localhost ~]#mysqldump -S /tmp/mysql.sock mysql > 123.sql   //mysql的库导入到123.sql

(主)[root@localhost ~]#mysql  db1 < 123.sql   //123.sql库恢复到db1库中

九、编辑主sql上的配置文件

[root@localhost ~]# vim /etc/my.cnf

46 server-id       = 1

49 log-bin=myhong          //名字可以定义

50 binlog-do-db=db1        //只针对这一个数据库做主从,也可以,db1db2

50    inlog-ignore-db=mysql     //黑名单,出了mysql的数据库其他都做主从

十、重启服务

[root@localhost ~]# service mysqld restart

十一、进入mysql授权

[root@localhost mysql]# mysql –uroot

mysql> grant replication slave on *.* to‘hong‘@‘192.168.197.131‘ identified

by ‘123456‘;  //授予的权限为replication

 

mysql> flush privileges; //刷新权限

mysql> flush tables with read lock;  //表的读锁死

mysql> show master status;  //读取一个数据

+---------------+----------+--------------+------------------+

| File          |Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------+----------+--------------+------------------+

| myhong.000001 |      338 |              |                  |

+---------------+----------+--------------+------------------+

十二、从sql上修改配置文件

[root@localhost ~]# vim /etc/my.cnf

46 server-id       =11

46 replicate-do-db=db1(可写)//可主从的数据库

47 replicate-ignore-db=mysql (可写)//黑名单

[root@localhost ~]#service mysqld restart

 

将主mysql上的数据拷贝到从mysql上,如果是不同的机器,需要远程拷贝。

[root@localhost ~]# mysqldump -uroot -S/tmp/mysql2.sock -p123456 db1 > db1.sql

[root@localhost ~]# mysql -uroot -S/tmp/mysql.sock -pyourpassword -e "create database db1"

[root@localhost ~]# mysql -uroot -S /tmp/mysql.sock-pyourpassword db1 < db1.sql

 

十三、在从sql数据库实现同步配置

mysql>Slave stop

mysql> change master to master_host=‘192.168.197.130‘,master_port=3306, master_user=‘hong‘, master_password=‘123456‘,master_log_file=‘myhong.000001‘, master_log_pos=338;

mysql> slave start;

mysql> exit

[root@localhost mysql]# servicemysqld restart

十四、查看是否同步成功

mysql> show slave status\G;

*************************** 1.row ***************************

               Slave_IO_State: Waiting formaster to send event

                  Master_Host: 192.168.197.130

                  Master_User: hong

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: myhong.000001

          Read_Master_Log_Pos: 22591

               Relay_Log_File:localhost-relay-bin.000003

                Relay_Log_Pos: 22503

       Relay_Master_Log_File: myhong.000001

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes                          //如果是2yes表示成功

    

十五、进入主sql解锁操作,并测试

mysql> unlocktables;

mysql> use myhong;

mysql> drop tables  help_category ;

 

十六、在从sql上查看是否这个库的的表被删除了。

删除表示成功了,没删除或者没表就是失败

 

 

 

 


本文出自 “8653294” 博客,请务必保留此出处http://8653294.blog.51cto.com/8643294/1742797

mysql主从

原文:http://8653294.blog.51cto.com/8643294/1742797

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!