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的安装及主从同步的更多相关文章

  1. 剑指架构师系列-MySQL调优

    介绍MySQL的调优手段,主要包括慢日志查询分析与Explain查询分析SQL执行计划 1.MySQL优化 1.慢日志查询分析 首先需要对慢日志进行一些设置,如下: SHOW VARIABLES LI ...

  2. 剑指架构师系列-MySQL常用SQL语句

    (1)分清HAVING与WHERE的区别: HAVING 子句使你能够指定过滤条件,从而控制查询结果中哪些组可以出现在最终结果里面.WHERE 子句对被选择的列施加条件,而 HAVING 子句则对 G ...

  3. 剑指架构师系列-Nginx的安装与使用

    Nginx可以干许多事情,在这里我们主要使用Nginx的反向代理与负载均衡功能. 1.Nginx的下载安装 在安装Nginx前需要安装如下软件: GCC  Nginx是C写的,需要用GCC编译 PCR ...

  4. 剑指架构师系列-Redis安装与使用

    1.安装Redis 我们在VMware中安装CentOS 64位系统后,在用户目录下下载安装Redis. 下载redis目前最稳定版本也是功能最完善,集群支持最好并加入了sentinel(哨兵-高可用 ...

  5. 剑指架构师系列-spring boot的logback日志记录

    Spring Boot集成了Logback日志系统. Logback的核心对象主要有3个:Logger.Appender.Layout 1.Logback Logger:日志的记录器 主要用于存放日志 ...

  6. 剑指架构师系列-持续集成之Maven+Nexus+Jenkins+git+Spring boot

    1.Nexus与Maven 先说一下这个Maven是什么呢?大家都知道,Java社区发展的非常强大,封装各种功能的Jar包满天飞,那么如何才能方便的引入我们项目,为我所用呢?答案就是Maven,只需要 ...

  7. 剑指架构师系列-Hibernate需要掌握的Annotation

    1.一对多的关系配置 @Entity @Table(name = "t_order") public class Order { @Id @GeneratedValue priva ...

  8. 剑指架构师系列-Linux下的调优

    1.I/O调优 CentOS下的iostat命令输出如下: $iostat -d -k 1 2 # 查看TPS和吞吐量 参数 -d 表示,显示设备(磁盘)使用状态:-k某些使用block为单位的列强制 ...

  9. 剑指架构师系列-Logstash分布式系统的日志监控

    Logstash主要做由三部署组成: Collect:数据输入 Enrich:数据加工,如过滤,改写等 Transport:数据输出 下面来安装一下: wget https://download.el ...

随机推荐

  1. python/匿名函数和内置函数

    1 匿名函数 匿名函数是lambda定义的没有名字的具有一些小功能的函数 具体形式是 lambda 参数列表:返回值表达式 lambda x: X**2 # 求平方操作 lambda x: x> ...

  2. python虚拟环境--virtualenv

    virtualenv 是一个创建隔绝的Python环境的工具.virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包. 安装 pip install virtu ...

  3. MyBatis(三):数据库查询结果不为空,但是使用MyBatis框架查询为空问题

    1.这个问题主要和返回字段是否和实体类javabean中的字段是否一致导致的问题. 解决方案: sql语句 : select account_id as "accountId" a ...

  4. UVA-10714 Ants---蚂蚁模拟

    题目链接: https://vjudge.net/problem/UVA-10714 题目大意: 给你一个长为L厘米的木棍在上面有n只蚂蚁,蚂蚁的爬行时间均为1厘米/秒,两只蚂蚁先遇会立即调转方向,调 ...

  5. ZOJ-1649 Rescue---BFS+优先队列

    题目链接: https://vjudge.net/problem/ZOJ-1649 题目大意: 天使的朋友要去救天使,a是天使,r 是朋友,x是卫兵.每走一步需要时间1,打倒卫兵需要另外的时间1,问救 ...

  6. 关于Java中的Null

    什么是Java中的Null? null在Java中是一个非常重要的概念,它最初是为了表示缺少某些东西,例如缺少用户.资源或任何东西而发明出来的.但是这也为Java程序员带来了很多麻烦,比如最常见的空指 ...

  7. [LeetCode] Exclusive Time of Functions 函数的独家时间

    Given the running logs of n functions that are executed in a nonpreemptive single threaded CPU, find ...

  8. discuz7.2 faq.php 注入漏洞分析

    写在前面的话:分析完整个漏洞,不得不感叹,发现漏洞的人真的好细心呀. 在分析整个漏洞之前,没看poc,然后就直接看faq.php 准备试试自己发现漏洞的能力,但是分析完一整个php,也是卡在 in() ...

  9. ftp爆破(python脚本)

    最近在乌云看到一份端口详解:为了锻炼自己,按照端口详解写脚本 #!/usr/local/bin/ python #-*- coding: UTF-8 -*- __author__ = '' from ...

  10. codevs 1054 电梯

    1054 电梯 提交地址:http://codevs.cn/problem/1054/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver     题目描述 D ...