mysql5.7主从搭建_mysql5.7 安装及主从搭建

环境、版本

centos 7.2    mysql5.7.13

mysql  Master  操作

下载软件包

cd /opt/softwget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz --no-check-certificate

安装

tar -xvf /opt/soft/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

mv mysql-5.7.13-linux-glibc2.5-x86_64 mysqlmkdir -p /data/mysql       #数据目录mkdir -p /data/log/mysql     #日志目录

groupadd mysql

useradd-r -s /sbin/nologin -g mysql mysql -d /usr/local/mysqlchown -R mysql:mysql /user/local/mysqlchown -R mysql:mysql /data/mysql/

chown -R mysql:mysql /data/log/./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql    #初始化数据库,完成后会生成一个临时密码,注意保存

./bin/mysql_ssl_rsa_setup --datadir=/data/mysql                    #数据库加密

常规配置

vi  /etc/my.cnf

[mysql]

default-character-set=utf8

[mysqld]

default-storage-engine=INNODB

character_set_server=utf8

log-bin = /data/mysql/binlog/mysql-bin.log          #单独设置binlog 日志路径,最好与数据目录分开,设置到不同磁盘分区,这样提高IO效率

server-id=1                             #服务器唯一标识,启动binlog日志就必须设置唯一id ,否则无法启动

log_bin_index=/data/mysql/binlog/mysql-bin.index

binlog-format=MIXED                        #主从同步采用此种格式的binlog

[mysqld_safe]

log-error = /data/log/mysql/error.log              #增加错误日志,当数据库无法启动等问题时会产生错误日志,通过日志来排查问题

mysql 命令加环境变量

echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile

bash/etc/profile

通过初始密码登录改一个新密码

mysql -uroot -p

set password=password("密码");

flush privileges;

systemctl enable mysql    开机自启

主从同步配置

vi /etc/my.cnf

server-id=1log_bin=master-bin

log_bin_index=master-bin.index

binlog_do_db=test

#备注:

#server-id服务器唯一标识。

#log_bin 启动MySQL二进制日志,即数据同步语句,从数据库会一条一条的执行这些语句。

#binlog_do_db 指定记录二进制日志的数据库,即需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可。

#binlog_ignore_db 指定不记录二进制日志的数据库,即不需要复制的数据库名,如果有多个数据库,重复设置这个选项即可。

#其中需要注意的是,binlog_do_db和binlog_ignore_db为互斥选项,一般只需要一个即可

创建从服务器权限

[root@localhost mysql]# mysql -uroot -p

Enter password:

#创建从数据库的masterbackup用户和权限

mysql> grant replication slave on *.* to masterbackup@'192.168.17.%' identified by '123456';

#备注

#192.168.17.%通配符,表示0-255的IP都可访问主服务器,正式环境请配置指定从服务器IP

#若将192.168.17.% 改为 %,则任何ip均可作为其从数据库来访问主服务器

#退出mysql

mysql>exit;

service mysql restart

mysql-uroot -p

show master status;              #记录pos 位置,和日志文件名字

mysql  Backup 操作

下载,安装,常规配置同上

主从配置

vi /etc/my.cnf

server-id=2relay-log=slave-relay-bin

relay-log-index=slave-relay-bin.index

启动同步

mysql -uroot -p

change master to master_host='192.168.1.1',master_port=3306,master_user='masterbackup',master_password='123456',master_log_file='master-bin.000004',master_log_pos=154;

start slave

show slave status\G;        #查看状态是否正常

master_log_file,master_log_pos 为在主上执行show master status命令查看获得信息

show slave status;\G     查看状态如下全为yes 即可,否则配置有问题

Slave_SQL_Running: Yes

Slave_IO_Running: Yes

测试

登录mysql 主

选择test 数据,创建如下表

create table tb_test(ID varchar(36) primary key comment '主键ID',MEMO varchar(500) not null comment '信息');

insert into tb_test(ID,MEMO) values('1','one test');

后期增加新的要同步数据库

1、直接在master 配置文件上配置要增加的数据库名称,

2、授权从数据库能够访问同步的新数据库

3、停止从的同步服务,重新执行 change master to master_host='192.168.1.1',master_port=3306,master_user='masterbackup',...命令

4、start slave

5、show slave status;

更改binlog 日志格式

无需重启mysql服务

主库

set global binlog_format='mixed';

vi /etc/my.cnf

binlog-format=MIXED

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值