码迷,mamicode.com
首页 > 数据库 > 详细

剑指架构师系列-MySQL的安装及主从同步

时间:2017-09-09 22:40:36      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:chown   master   creat   use   lock   官方文档   comm   文件   ref   

 

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 slave1@‘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  root@192.168.0.248:/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 slave1@192.168.0.248;

 

在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的安装及主从同步

标签:chown   master   creat   use   lock   官方文档   comm   文件   ref   

原文地址:http://www.cnblogs.com/mazhimazhi/p/7499361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!