前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql+centos7+主从复制

mysql+centos7+主从复制

作者头像
超蛋lhy
发布2018-08-31 11:43:23
5030
发布2018-08-31 11:43:23
举报
文章被收录于专栏:PythonistaPythonista

MYSQL(mariadb)

代码语言:javascript
复制
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

方法1:yum安装mariadb

代码语言:javascript
复制
yum install mariadb-server mariadb 

相关命令

代码语言:javascript
复制
mariadb数据库的相关命令是:

systemctl start mariadb  #启动MariaDB

systemctl stop mariadb  #停止MariaDB

systemctl restart mariadb  #重启MariaDB

systemctl enable mariadb  #设置开机启动

启动后正常使用mysql

代码语言:javascript
复制
systemctl start mariadb

#进入mysql
mysql -uroot -p

方法2:官网下载mysql-server包(rpm)

代码语言:javascript
复制
# 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

配置mysql

1.中文编码设置

代码语言:javascript
复制
编辑mysql配置文件/etc/my.cnf
[mysqld]
character-set-server=utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
collation-server=utf8_general_ci

security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

2.授权配置

代码语言:javascript
复制
远程连接设置哦设置所有库,所有表的所有权限,赋值权限给所有ip地址的root用户
mysql > grant all privileges on *.* to root@'%' identified by 'password';
#创建用户
mysql > create user 'username'@'%' identified by 'password';
#刷新权限
flush privileges;

MYSQL主从复制

主从机制实现原理

代码语言:javascript
复制
(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events); 
(2) slave将master的binary log events拷贝到它的中继日志(relay log); 
(3) slave重做中继日志中的事件,将改变反映它自己的数据。

master主库配置

代码语言:javascript
复制
#查看数据库状态
systemctl status mariadb
#停mariadb
systemctl stop mariadb

#修改配置文件
vim /etc/my.cnf
#修改内容
#解释:server-id服务的唯一标识(主从之间都必须不同);log-bin启动二进制日志名称为mysql-bin 

master主库添加从库账号

代码语言:javascript
复制
1.新建用于主从同步的用户chaoge,允许登录的从库是'192.168.178.130'
create user 'chaoge'@'192.168.178.130' identified by 'redhat';

2.#题外话:如果提示密码太简单不复合策略加在前面加这句
mysql> set global validate_password_policy=0;

3.给从库账号授权,说明给chaoge从库复制的权限,在192.168.178.130机器上复制
grant replication slave on *.* to 'chaoge'@'192.168.178.130';

4.检查主库的状态

slave从库配置

代码语言:javascript
复制
1.检查slave数据库状态
systemctl status mariadb

2.停止mariadb
systemctl stop mariadb

3.修改配置文件my.cnf
[mysqld] 
server-id=2  #一定要和主库区别开

4.重启mariadb
systemctl start mariadb

5.登录mariadb
mysql -uroot -p

6.使用主库授权的账号
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MYSQL(mariadb)
    • 方法1:yum安装mariadb
      • 配置mysql
        • master主库配置
        • master主库添加从库账号
        • slave从库配置
    • MYSQL主从复制
    相关产品与服务
    云数据库 SQL Server
    腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档