Fork me on GitHub

关系数据库数据库mysql(主从模式)

1.安装软件mysql(5.6),数据库主库对外提供读写的操作,从库对外提供读的操作。

 

 

 

2. 数据库主从复制原理

主从复制原理,简言之,分三步曲进行:

  • 主数据库有个bin log二进制文件,纪录了所有增删改SQL语句。(binlog线程)

  • 从数据库把主数据库的bin log文件的SQL 语句复制到自己的中继日志 relay log(io线程)

  • 从数据库的relay log重做日志文件,再执行一次这些sql语句。(Sql执行线程)

 

 3,从数据库的相关参数配置

 

 

[root@antong ~]# vim /etc/my.cnf   //修改配置文件以下内容log_bin = atlinux01basedir = /usr/local/mysqldatadir = /data/mysqlport = 3306server_id = 10socket = /tmp/mysql.sock[root@antong ~]# /etc/init.d/mysqld restart  //重启mysqld服务Shutting down MySQL.. SUCCESS! Starting MySQL.. SUCCESS! [root@antong bin]# ls /data/mysql/   //生成了两个log_bin文件antong.err  atlinux01.000001  auto.cnf  ib_logfile0  mysql               testantong.pid  atlinux01.index   ibdata1   ib_logfile1  performance_schema[root@antong ~]# cd /usr/local/mysql/bin/ //切换工作目录,可以自行配置环境变量[root@antong bin]# ./mysqldump -uroot -p mysql > /tmp/mysql.sql  //备份Enter password:    //输入你的密码[root@antong bin]# ./mysql -uroot -e "create database at" -p //创建测试库 Enter password:   //输入密码[root@antong bin]# ./mysql -uroot -p at < /tmp/mysql.sql   //备份的库恢复成新建的库[root@antong bin]# ./mysql -uroot -p  //进入mysqlmysql> grant replication slave on *.* to 'repl' @192.168.200.30 identified by '000000';  //赋予从服务器权限Query OK, 0 rows affected (0.02 sec)mysql> flush tables with read lock;   //把表锁住Query OK, 0 rows affected (0.02 sec)mysql> show master status;    //显示主机状态+------------------+----------+--------------+------------------+-------------------+| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+------------------+-------------------+| atlinux01.000002 |      120 |              |                  |                   |+------------------+----------+--------------+------------------+-------------------+1 row in set (0.00 sec)
 
posted @ 2022-07-30 00:32  v_nice  阅读(99)  评论(0)    收藏  举报
1