设为首页 收藏本站
查看: 1025|回复: 0

[经验分享] MySQL的主从同步

[复制链接]

尚未签到

发表于 2018-9-28 06:32:47 | 显示全部楼层 |阅读模式
  MySQL的主从同步是一个很成熟的架构:优点为:
  ①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力
  ②在从主服务器进行备份,避免备份期间影响主服务器服务
  ③当主服务器出现问题时,可以切换到从服务器
  一、实验环境
  1、IP与主机名
  192.168.10.51   db1.linuxbrother.com master
  192.168.10.52 db2.linuxbrother.com slave
  2、所需软件
  mysql-5.1.63.tar.gz
  3、安装gcc和相应的依赖包
  [root@db1 ~]# yum -y install gcc ncurses-devel
  4、数据库目录及其它
  my.cnf配置文件     /usr/local/mysql/my.cnf
  mysql数据库位置    /usr/local/mysql/data/
  socket位置   /usr/local/mysql/tmp/mysql.sock
  二、Master配置
  1、安装Mysql
  [root@db1 ~]# tar -zxvf mysql-5.1.63.tar.gz -C /usr/src/
  [root@db1 ~]# useradd -M -s /sbin/nologin mysql
  [root@db1 ~]# cd /usr/src/mysql-5.1.63/
  [root@db1 mysql-5.1.63]# vim configure   #把下面行注释掉
  52297 #    $RM "$cfgfile"
  [root@db1 mysql-5.1.63]# ./configure --prefix=/usr/local/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase --with-mysqld-user=mysql
  [root@db1 mysql-5.1.63]# make
  [root@db1 mysql-5.1.63]# make install
  2、配置Mysql
  [root@db1 mysql-5.1.63]# cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
  [root@db1 mysql-5.1.63]# /usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
  [root@db1 mysql-5.1.63]# chown -R root.mysql /usr/local/mysql
  [root@db1 mysql-5.1.63]# chown -R mysql /usr/local/mysql/data/
  [root@db1 mysql-5.1.63]# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
  [root@db1 mysql-5.1.63]# ldconfig
  [root@db1 mysql-5.1.63]# echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
  [root@db1 mysql-5.1.63]# source /etc/profile
  [root@db1 mysql-5.1.63]# mkdir /usr/local/mysql/tmp
  [root@db1 mysql-5.1.63]# chmod 777 /usr/local/mysql/tmp/
  [root@db1 mysql-5.1.63]# vim /usr/local/mysql/my.cnf  #修改socket位置
  socket          = /usr/local/mysql/tmp/mysql.sock
  [root@db1 mysql-5.1.63]# mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &
  [root@db1 mysql-5.1.63]# mysql -uroot -p --socket=/usr/local/mysql/tmp/mysql.sock
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.1.63-log Source distribution
  Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  Oracle is a registered trademark of Oracle Corporation and/or its
  affiliates. Other names may be trademarks of their respective
  owners.
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

  mysql> grant replication slave on *.* to 'backup'@'192.168.10.52'>  Query OK, 0 rows affected (0.00 sec)
  mysql> flush tables with read lock;
  Query OK, 0 rows affected (0.00 sec)
  mysql> show master status;
  +------------------+----------+--------------+------------------+
  | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  +------------------+----------+--------------+------------------+
  | mysql-bin.000002 |      265 |              |                  |
  +------------------+----------+--------------+------------------+
  1 row in set (0.00 sec)
  3、打包主库迁移数据
  [root@db1 mysql-5.1.63]# cd /usr/local/mysql/
  [root@db1 mysql]# tar -zcf data0708.tar.gz ./data/
  三、Slave配置
  安装过程如上,步骤省略......
  [root@db2 mysql-5.1.63]# vim /usr/local/mysql/my.cnf   #修改server-id
  server-id       = 2
  将主数据库备份数据拷贝过来并解压到相应的目录
  [root@db2 mysql-5.1.63]# mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &
  [root@db2 mysql-5.1.63]# mysql -uroot -p --socket=/usr/local/mysql/tmp/mysql.sock
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.1.63-log Source distribution
  Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  Oracle is a registered trademark of Oracle Corporation and/or its
  affiliates. Other names may be trademarks of their respective
  owners.
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  mysql> change master to master_host='192.168.10.51',master_user='backup',master_password='backuppwd',master_log_file='mysql-bin.000002',master_log_pos=265;
  Query OK, 0 rows affected (0.24 sec)
  mysql> start slave;
  Query OK, 0 rows affected (0.02 sec)
  mysql> show slave status\G
  ......
  Slave_IO_Running: Yes
  Slave_SQL_Running: Yes
  ......
  四、验证
  1、在Master上面操作
  [root@db1 mysql-5.1.63]# mysql -uroot -p --socket=/usr/local/mysql/tmp/mysql.sock
  mysql> create database mysqltest;
  Query OK, 1 row affected (0.00 sec)
  mysql> use mysqltest;
  Database changed
  mysql> create table user (id int(5),name char(10));
  Query OK, 0 rows affected (0.00 sec)
  mysql> insert into user values (0001,'xieping');
  Query OK, 1 row affected (0.00 sec)
  mysql> insert into user values (0002,'huxinxin');
  Query OK, 1 row affected (0.00 sec)
  mysql> insert into user values (0003,'dingpeng');
  Query OK, 1 row affected (0.00 sec)
  2、在Slave上操作
  [root@db2 mysql-5.1.63]# mysql -uroot -p --socket=/usr/local/mysql/tmp/mysql.sock
  mysql> show databases;
  +--------------------+
  | Database           |
  +--------------------+
  | information_schema |
  | mysql              |
  | mysqltest          |
  | test               |
  +--------------------+
  4 rows in set (0.02 sec)

  mysql> select>  +------+----------+

  |>  +------+----------+
  |    1 | xieping  |
  |    2 | huxinxin |
  |    3 | dingpeng |
  +------+----------+
  3 rows in set (0.00 sec)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-602963-1-1.html 上篇帖子: 3,mysql的存储引擎 下篇帖子: MySQL 5.6升级至MySQL 5.7--------版本升级最佳实战
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表