#mysql主从复制 ###下载mysql安装包 mysql
###安装master mysqlsql
yum repolist enabled | grep "mysql.-community."数据库
tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar服务器
-rw-r--r--. 1 root root 603985920 Jun 28 16:05 mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar -rw-r--r--. 1 7155 31415 26760484 Apr 9 01:06 mysql-community-client-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 549512 Apr 9 01:06 mysql-community-common-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 4221784 Apr 9 01:06 mysql-community-devel-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 24343708 Apr 9 01:06 mysql-community-embedded-compat-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 2349488 Apr 9 01:06 mysql-community-libs-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 2156516 Apr 9 01:06 mysql-community-libs-compat-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 119957152 Apr 9 01:06 mysql-community-minimal-debuginfo-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 357581528 Apr 9 01:07 mysql-community-server-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 20562556 Apr 9 01:07 mysql-community-server-minimal-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 45494324 Apr 9 01:07 mysql-community-test-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 root root 631340 May 9 2014 Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
yum install -y mysql-community-common-8.0.11-1.el7.x86_64.rpmide
yum install -y mysql-community-libs-8.0.11-1.el7.x86_64.rpm测试
yum install -y mysql-community-client-8.0.11-1.el7.x86_64.rpmdebug
yum install -y mysql-community-server-8.0.11-1.el7.x86_64.rpm日志
查找初始密码 grep 'password' /var/log/mysqld.log |head -n 1code
mysql -u root -pserver
登陆成功购执行下面脚本修改root密码
alter user user() identified by "new password";
###安装slave mysql 同上步骤
###在主节点上建立一个同步帐号
1)每一个从数据库会使用一个MySQL帐号来链接主数据库,因此咱们要在主数据库里建立一个帐号,而且该帐号要授予 REPLICATION SLAVE 权限,你能够为每一个从数据库分别建立帐号,固然也能够用同一个!)
2)你能够用原来的帐号不必定要新创帐号,但你应该注意,这个帐号和密码会被明文存放在master.info文件中,所以建议单首创一个只拥有相关权限的帐号,以减小对其它帐号的危害!)
3)建立新帐号使用“CREATE USER”,给帐号受权使用“GRANT”命令,若是你仅仅为了主从复制建立帐号,只须要授予REPLICATION SLAVE权限。
CREATE USER 'repl'@'192.168.0.%' IDENTIFIED BY 'repl123';
GRANT REPLICATION SLAVE ON . TO 'repl'@'192.168.0.%';
###配置主数据库
要主数据库,你必需要启用二进制日志(binary logging),而且建立一个惟一的Server ID,这步骤可能要重启MySQL。
主服务器发送变动记录到从服务器依赖的是二进制日志,若是没启用二进制日志,复制操做不能实现(主库复制到从库)。
复制组中的每台服务器都要配置惟一的Server ID,取值范围是1到(232)−1,你本身决定取值。
配置二进制日志和Server ID,你须要关闭MySQL和编辑my.cnf或者my.ini文件,在 [mysqld] 节点下添加配置。
下面是启用二进制日志,日志文件名以“mysql-bin”做为前缀,Server ID配置为1,以下:
[mysqld]
log-bin=mysql-bin
server-id=1
重启后 查看主服务器状态,mysql> show master status;, 如图:
###配置从数据库
从服务器,同理,要分配一个惟一的Server ID,须要关闭MySQL,修改好后再重启,以下:
[mysqld]
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.1.233', MASTER_USER='repl', MASTER_PASSWORD='repl123',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=313;
start slave;
show slave status \G;
若是图中两个指标为yes就成功了,如今能够试着建立数据库或者建立表来测试