剑指架构师系列-MySQL的安装及主从同步
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指架构师系列-MySQL的安装及主从同步相关的知识,希望对你有一定的参考价值。
1、安装数据库
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server
安装时使用root用户权限。安装成功后即可进行启动:
/bin/systemctl restart mysqld.service
修改MySQL数据库root用户的密码,如下:
mysql -u root mysql> set password for ‘root’@‘localhost’ = password(‘你要设置的密码‘); mysql> exit
mysql -u root -p // 回车后输入密码即可
退了后重新使用用户名和密码登录即可。
远程授权连接mysql
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION; FLUSH PRIVILEGES;
查看MySQL的进程PID
netstat -anp|grep 3306|awk ‘{printf $7}‘|cut -d/ -f1
MySQL随系统自启动
/bin/systemctl enable mysqld
2、数据库主从同步
主:master---192.168.0.147
从:slave1---192.168.0.248
在master主库上操作:
mysql -uroot // 在安装时用户名为root 密码默认为空 // 创建数据库 mysql>CREATE DATABASE IF NOT EXISTS cattle COLLATE=‘utf8_general_ci‘ CHARACTER SET=‘utf8‘; // 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; mysql>GRANT ALL ON cattle.*TO ‘cattle‘@‘%‘ IDENTIFIED BY ‘cattle‘; mysql>GRANT ALL ON cattle.*TO ‘cattle‘@‘localhost‘ IDENTIFIED BY ‘cattle‘; // 创建用户 mysql>GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO [email protected]‘192.168.0.248‘ IDENTIFIED BY ‘123456‘; mysql>flush privileges;
对/etc/my.cnf配置文件进行修改,在[mysql]下添加如下配置后重启MyQL。
server-id = 1 log-bin=mysql-bin log-slave-updates=cattle binlog-do-db=cattle binlog-ignore-db=mysql
锁主库后打包主库,然后解锁主库即可。
mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS;
#cd /var/lib/mysql #tar czvf cattle.tar.gz cattle
mysql> UNLOCK TABLES;
然后传输cattle.tar.gz到192.168.0.248上,如下:
scp /var/lib/mysql/cattle.tar.gz [email protected]:/var/lib/mysql/cattle.tar.gz
在slave1从库上操作:
修改文件cattle.tar.gz权限,如下:
#chown -R /var/lib/mysql/mysql:mysql cattle
修改/etc/my.cnf配置文件,在[mysql]下面增加如下配置:
server-id =2 log_bin=mysql-bin relay_log=mysql-relay-bin read-only=1 replicate-do-db=cattle log-slave-updates=1
重启MySQL后进行验证。
mysql -h192.168.0.147 -uslave1 -p123456 show grants for [email protected];
在master上查看File与Position:
mysql -ucattle -pcattle mysql>SHOW MASTER STATUS\\G;
如下:
可以看到两个属性的值。
到 slave1主机下
mysql -uroot stop slave mysql>CHANGE MASTER TO MASTER_HOST=‘192.168.0.147‘, MASTER_USER=‘slave1‘, MASTER_PASSWORD=‘123456‘, MASTER_LOG_FILE=‘mysql-bin.000006‘, MASTER_LOG_POS=1018; start slave
然后查看slave状态,如下:
观察Slave_IO_Running与Slave_SQL_Running参数都为yes。
在master主机下操作,如下:
下面就可以进行同步测试了。
参考文章:http://www.phperz.com/article/15/1113/169027.html
官方文档:http://dev.mysql.com/doc/refman/5.6/en/replication-howto-slaveinit.html
以上是关于剑指架构师系列-MySQL的安装及主从同步的主要内容,如果未能解决你的问题,请参考以下文章