cent mysql 配置,centos 搭建mysql,及配置主备

本文详细介绍了在CentOS系统中如何搭建MySQL主从复制。首先通过yum repository下载并安装MySQL,配置服务器ID,创建主从复制账号并授权,设置主服务器的二进制日志,然后在从服务器上配置中继日志,启动复制。最后,通过jdbc验证主从同步。文章还提到了读写分离和故障切换的配置方法。
摘要由CSDN通过智能技术生成

centos MysqL 搭建

1 下载MysqL yum repository

参考官方文档:https://dev.mysql.com/downloads/repo/yum/

The MysqL Yum repository provides a simple and convenient way to install and update MysqL products with the latest software packages using Yum.

安装后,更改了centos的yum库MysqL版本信息。可以直接用yum install 安装MysqL。

如果直接下载MysqL-community-serve rpm安装,则会找不到其他依赖,安装起来比较麻烦。

2 使用yum repository 安装MysqL

使用yum repository 添加MysqL版本到yum库。

sudo rpm -Uvh platform-and-version-specific-package-name.rpm

确认yum库中设置的MysqL版本信息。MysqL community server的状态为:enabled

yum repolist all | grep MysqL

安装

sudo yum install MysqL-community-server

启动

sudo service MysqLd start

查看MysqL生成root的默认密码

sudo grep 'temporary password' /var/log/MysqLd.log

可以通过默认密码登录,并修改密码

MysqL -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

设置root账号远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;

MysqL主备复制实现分成三个步骤:

master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events,可以通过show binlog events进行查看);

slave将master的binary log events拷贝到它的中继日志(relay log);

slave重做中继日志中的事件,将改变反映它自己的数据。

2 搭建

主创建账号:

create user 'test'@'%' identified by 'r123+-*/';

主 复制账号权限:

grant select,replication slave,replication client on *.* to 'test'@'%' identified by 'r123+-*/';

主 配置my.cnf

vim /etc/my.cnf

log_bin=MysqL-bin

server_id = 1

从配置my.cnf

vim /etc/my.cnf

log_bin=MysqL-bin

server_id = 2

relay_log=MysqL-relay-bin

log_slave_updates=1

read_only=1

(http://www.jb51.cc/article/p-zolszqwq-zp.html)

server_id 是必须的,而且唯一。slave没有必要开启二进制日志,但是在一些情况下,必须设置,例如,如果slave为其它slave的master,必须设置 bin_log。在这里,我们开启了二进制日志,而且显示的命名(默认名称为hostname,但是,如果hostname改变则会出现问题)。

relay_log配置中继日志,log_slave_updates表示slave将复制事件写进自己的二进制日志(后面会看到它的用处)。

有 些人开启了slave的二进制日志,却没有设置log_slave_updates,然后查看slave的数据是否改变,这是一种错误的配置。所以,尽量 使用read_only,它防止改变数据(除了特殊的线程)。但是,read_only并是很实用,特别是那些需要在slave上创建表的应用。

主,从服务重启

service MysqLd restart

主查看信息

show master status\G;

*************************** 1. row ***************************

File: MysqL-bin.000001

Position: 718

Binlog_Do_DB:

Binlog_Ignore_DB:

Executed_Gtid_Set:

1 row in set (0.00 sec)

从启动slave

MysqL> CHANGE MASTER TO

-> MASTER_HOST='test.host.com',-> MASTER_USER='test',-> MASTER_PASSWORD='r123+-*/',-> MASTER_LOG_FILE='MysqL-bin.000001',-> MASTER_LOG_POS=718;

需要的信息根据主的信息配置

从查看状态

show slave status\G

3 验证

在主上插入一行数据,从会有这条数据。

4 配置主读写,从只读

主从分别创建账号:

create user 'test'@'%' identified by 'r123 +-*/';

主账号授权:

grant all privileges on *.* to 'test'@'%' identified by 'r123+-*/';

从账号授权:(这里采用全部授权后,回收修改数据库的权限方式。也可以直接赋权,但是怕有遗漏,影响功能)

grant all privileges on *.* to 'test'@'%' identified by 'r123+-*/';

revoke insert,update,delete,drop,create,alter on *.* from 'test'@'%';

4 jdbc验证

jdbc配置多个MysqL,出现故障时自动切换.

spring.datasource.driver-class-name=com.jdbc.Driver

spring.datasource.url=jdbc:MysqL://test.host.com:3306,test-1.host.com:3306/test?failOverReadOnly=true&useSSL=false

spring.datasource.username=test

spring.datasource.password=r123+-*/

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值