Lap+mysql(主从同步)
Posted make有意义
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lap+mysql(主从同步)相关的知识,希望对你有一定的参考价值。
两个实验:mysql主从同步+lap+mysql(主从)
环境:(我用了三台服务器搭建,应该还可以用两台的:lamp(含mysql主)+mysql(从))
LAP:192.168.1.108(centos7.4,用前一实验lamp的环境)
Mysql主:192.168.1.127
Mysql从:192.168.1.128
疑问点:master上的bin-log文件名与position的数字,好像每次查看的都不一致的?
答:是的,只要有了数据增删查改等操作都会有节点化,节点就是为了记录该变化过程中所有的命令。
数据库的主从同步实验
1:在两个mysql主从服务器上分别编译安装mysql
yum install gcc c c++ cmake ncurses-develncurses –y
wget http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz
tar –zxvf
cd /usr/src/mysql-5.5.20/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BIG_TABLES=1 -DWITH_DEBUG=0
make && make install
cd /usr/local/mysql55/
cp support-files/my-large.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig –add mysqld
chkconfig –level 35 mysqld on
mkdir –p /data/mysql
useradd mysql
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql55/
ln –s /usr/local/mysql55/bin/* /usr/bin/
systemctl start mysqld.service
2:mysql主从复制配置
主mysql服务器上的配置:
因为上面有:cp support-files/my-large.cnf /etc/my.cnf操作,基本上需要的配置里面已经有。如:
其中注意的是:server-id=1 log-bin=mysql-bin
cat /etc/my.cnf |grep -v "#" |grep -v "^;"|grep -v "^$"
第一个grep是过滤带#号的行,第二个grep过滤以;号为开头的行,第三个grep过滤掉所有的空行。
3:在主上,给某个用户有从的权限。
Grant replication slave on *.* to ‘mo’@’%’ identified by ‘mo’;
刷新权限:flush privileges;
4:查看bin-log文件及position点
Show master status;
5.主上要关闭防火墙,selinux。从可以不用关。
6.在从数据器上,同样/etc/my.cnf配置基本与主一样,只有两个地方有区别,如下:
#Log-bin=mysql-bin
Server-id = 2
7. Slave指定Master IP、用户名、密码、bin-log文件名(mysql-bin.000006)及position(107),代码如下: change master to master_host='192.168.1.127',master_user='mo',master_password='mo',master_log_file='mysql-bin.000006',master_log_pos=107;
启动:slave start;
用命令查看主从状态是否连接成功:show slave status\G;
主要是这两个参数:
=============================测试主从数据是否同步=======================
主要是主创建数据库或表,或插入数据,然后在从上看是不是数据同步了。
LAP+mysql(主从)实验
1.在主数据库服务器上添加一个数据库,并允许LAP主机能够用root访问。
create database mo_test charset=utf8;
grant all on mo_test.* to root@'192.168.1.108' identified by "root";
2.在LAP服务器上新添加一个站点为:www.test-mysql.com,记得在测试主机上hosts文件添加对应域名访问。
填写的是主数据库上的IP
回到主数据库主机上,查看是否有数据过来
use mo_test;
Show tables;
在从数据库主机上看下是否有数据同步过来。
备注:一般是开启了主从复制后,后面添加的数据才会过去,在这之前的是不过去的,若要使主从数据完全一致,则在开启主从之前,应先将主的数据库备份到从数据库上,再开启主从复制。mysqldump工具是mysql自带数据备份工具>mysqldump -uroot -p -d 数据库名 > /tmp/back.sql
具体的mysqldump的数据导出与导入可网上查找。
以上是关于Lap+mysql(主从同步)的主要内容,如果未能解决你的问题,请参考以下文章