linux MySql 主从异步复制
[root@localhost ~]# hostname master.allentuns
###SLAVE 执行
[root@localhost ~]# sed -i 's@\(HOSTNAME=\).*@\1slave.allentuns.com@g' /etc/sysconfi
g/network
[root@localhost ~]# hostname slave.allentuns
配置主机名解析
修改 hosts 文件来实现
###MASTER 执行
[root@master ~]# cat >>
/etc/hosts <<
EOF
> 192.168.2.100 master.allentuns.com
> 192.168.2.200 slave.allentuns.com
> EOF
###SLAVE 执行
[root@slave ~]# cat >> /etc/hosts <<
EOF
> 192.168.2.100 master.allentuns.com
> 192.168.2.200 slave.allentuns.com
> EOF
同步服务器时间
###MASTER 执行
[root@master ~]# crontab -l
*/5 * * * * /usr/sbin/ntpdate -u asia.pool.ntp.org
###SLAVE 执行
*/5 * * * * /usr/sbin/ntpdate -u asia.pool.ntp.org
4. 安装 MySql
4.1 在 Master 与 Slave 服务器上分别安装 Mysql
###MASTER执行
1、解压 mysql 并建立软链接
tar xf
mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz -C
/usr/local/
cd /usr/local/
ln -sv mysql-5.6.12-linux-glibc2.5-x86_64 mysql
2、创建 mysql 用户
groupadd -r mysql
useradd -g mysql -r
-s /sbin/nologin -M -d /mydata/data mysql
3、赋予 mysql 程序目录的属主和属组为 mysql 用户
chown -R mysql.mysql /usr/local/mysql/
4、创建 mysql 数据存储目录并赋予此目录的属主和属组为 mysql 用户
mkdir -pv /mydata/data
chown -R mysql:mysql /mydata/data/
5、初始化 mysql 依赖 libaio
yum -y install libaio
6、初始化 mysql
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata/d ata --user=mysql
7、为了 mysql 数据库的安全,改回 mysql 程序目录的属主
chown -R root /usr/local/mysql/*
8、修改 mysql 的默认配置文件,并优化相关参数
# vim /usr/local/mysql/my.cnf
添加内容是:
log-bin = master-bin
server-id = 1 port = 3306
basedir = /usr/local/mysql/
datadir = /mydata/data
socket
= /var/lib/mysql/mysql.sock innodb_file_per_table = 1
9、为 mysql 提供 sysv 服务脚本并启动服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
10、将 mysql 加入到服务列表并设置开机自启动
chkconfig --add mysqld chkconfig mysqld on
11、mysql 命令添加到环境变量中
# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
# source /etc/profile
12、输出 mysql 的 man 手册到 man 命令的查找路径
# yum -y install man
# vim /etc/man.config +54
加入到
54 行后
MANPATH /usr/local/mysql/man
13、输出 mysql 的库文件
echo "/usr/local/mysql/lib/"
> /etc/ld.so.conf.d/mysql.conf
ldconfig -v
14、输出 mysql 的头文件到系统头文件
ln -sv /usr/local/mysql/include/ /usr/include/mysql
service mysqld start
16、测试 mysql[root@mysql ~]# mysql
Welcome to the MySQL monitor. Commands end with ;
or \g. Your MySQL connection id is 1
Server version: 5.6.12-log MySQL Community Server (GPL)
Copyright (c)
2000, 2013, Oracle and/or its affiliates. All
rights reserved.
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h'
for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> \q Bye
###SLAVE执行
1、解压 mysql 并建立软链接
tar xf mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv mysql-5.6.12-linux-glibc2.5-x86_64 mysql
2、创建 mysql 用户
groupadd -r mysql
useradd -g mysql -r
-s /sbin/nologin -M -d /mydata/data mysql
3、赋予 mysql 程序目录的属主和属组为 mysql 用户
chown -R mysql.mysql /usr/local/mysql/
4、创建 mysql 数据存储目录并赋予此目录的属主和属组为 mysql 用户
mkdir -pv /mydata/data
chown -R mysql:mysql /mydata/data/
5、初始化 mysql 依赖 libaio
yum -y install libaio
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata/d
ata --user=mysql
7、为了 mysql 数据库的安全,改回 mysql 程序目录的属主
chown -R root /usr/local/mysql/*
8、修改 mysql 的默认配置文件,并优化相关参数
# vim /usr/local/mysql/my.cnf
添加内容是: [mysqld]
log-bin = master-bin
server-id = 1
port = 3306
basedir = /usr/local/mysql/
datadir = /mydata/data
socket
= /var/lib/mysql/mysql.sock innodb_file_per_table = 1
9、为 mysql 提供 sysv 服务脚本并启动服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
10、将 mysql 加入到服务列表并设置开机自启动
chkconfig --add mysqld chkconfig mysqld on
11、mysql 命令添加到环境变量中
# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
# source /etc/profile
12、输出 mysql 的 man 手册到 man 命令的查找路径
# yum -y install man
# vim /etc/man.config +54
加入到
54 行后
MANPATH /usr/local/mysql/man
13、输出 mysql 的库文件
echo "/usr/local/mysql/lib/"
> /etc/ld.so.conf.d/mysql.conf
ldconfig -v
14、输出 mysql 的头文件到系统头文件
ln -sv /usr/local/mysql/include/ /usr/include/mysql
15、启动 mysql 服务
service mysqld start
16、测试 mysql[root@mysql ~]# mysql
Welcome to the MySQL monitor. Commands end with ;
or \g. Your MySQL connection id is 1
Server version: 5.6.12-log MySQL Community Server (GPL)
Copyright (c)
2000, 2013, Oracle and/or its affiliates. All
rights reserved.
Oracle is a
registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h'
for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> \q
Bye
linux MySql 主从异步复制的更多相关文章
- mysql主从异步复制过程
mysql是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失.为了保证mysql数据库的可靠性.就要会一些提高可靠性的技术. 主从复制原理如下. slave(从服务器) master(主服务器) ...
- mysql主从数据库复制
http://blog.csdn.net/lgh1117/article/details/8786274 http://blog.csdn.net/libraworm/article/details/ ...
- mysql关于“异步复制”“同步复制”“半同步复制”“无损复制”的概念与区别
异步复制:主把事务写到binlog日志并不管从是否接收或者什么时候接收,commit之后,不会与从发生ack之类的交互. 同步复制:当主提交一个事务,在主向前端返回一个commit成功的指令前,必须保 ...
- MariaDB主从异步复制详解
一 异步复制(Asynchronous replication) 1.MariaDB本身支持单向的.异步的复制.异步复制意味着在把数据从一台机器拷贝到另一台机器时有一个延时,最重要的是这意味着当应用系 ...
- mysql主从服务器复制操作
master主机ip:192.168.1.19 用户名sunzy 密码123456slave主机ip:192.168.1.20 1.配置master1)接下来对master进行配置,包括打开二进制日 ...
- mysql主从服务器复制原理
在实际企业应用环境当中,单台mysql数据库是不足以满足日后业务需求的.譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止.介于这种情况,我们来学习一下mysql主从复制. 将Mysql的 ...
- zabbix3.2监控mysql主从(复制)状态
问题背景: MySQL主从架构最常见不过了,在生产环境下,主从关系的状态的重要性不言而喻,这里小记一下通过zabbix监控主从状态,并用微信告警测试. 测试环境: 软件 MySQL-master My ...
- MySQL的异步复制、全同步复制与半同步复制
异步复制 异步复制,主库将事务 Binlog 事件写入到 Binlog 文件中,此时主库只会通知一下 Dump 线程发送这些新的 Binlog,然后主库就会继续处理提交操作,而此时不会保证这些 Bin ...
- Linux mysql主从同步配置
一.在两台Ubuntu机器上安装mysql1.检查系统中是否安装了mysql 这个是已经安装了的 没有安装的话执行上条命令===============================MySQL的一些 ...
随机推荐
- Spring Boot教程(二十二)使用Swagger2构建强大的RESTful API文档(1)
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
- A - 地震预测
A - 地震预测 怀特先生是一名研究地震的科学家,最近他发现如果知道某一段时间内的地壳震动能量采样的最小波动值之和,可以有效地预测大地震的发生. 假设已知一段时间的n次地壳震动能量的采样值为a1,a2 ...
- vue key的作用
key的作用是什么? 简单来说: key是给每一个vnode的唯一id,可以依靠key,更准确, 更快的拿到oldVnode中对应的vnode节点. 1. 更准确 因为带key就不是就地复用了,在sa ...
- 【Python】学习笔记十二:模块
模块(module) 在Python中,一个.py文件就是一个模块.通过模块,你可以调用其它文件中的程序 引入模块 先写一个first.py文件,内容如下: def letter(): print(' ...
- 【SpringBoot-创建项目】一.通过Idea创建SpringBoot项目
一.首先我们通过Idea创建一个新项目 二.选择sdk和快速构建模板 三.填写项目基本信息 三.选择项目依赖 四.填写项目名和本地项目路径 六.完成项目创建,查看项目目录层级 最终:主要是在创建项目的 ...
- linux下插入U盘自动挂载后,用C获取其挂载点(cat /proc/mounts)
现在已经能够通过libudev获取U盘插入时它的节点名(通过函数udev_device_get_devnode()),是/dev/sdb1 我现在的做法是读取/proc/mounts文件,找到有/de ...
- Spring boot 自定义一个starter pom
用过springboot的自动配置会觉得非常方便,我们完全可以自己写一个starter pom,这样不仅可以有自动配置功能,而且具有更通用的的耦合度低的配置, 新建一个starter的maven项目, ...
- webpack中的 chunk,module,bundle的区别,以及hidden modules是什么
hidden modules是什么: chunk,module,bundle的区别 总结: module是指任意的文件模块,等价于commonjs中的模块 chunks是webpack处理过程中被分组 ...
- JavaSE部分1.Java基础
1.为什么重写equals()还要重写hashcode()? (equals()和hashCode()是java Object中两个基本方法) 首先equals与hashcode间的关系是这样的: ...
- JVM监控工具之jmap、jstat、stack、jps、jstatd、jinfo、jhat、jdb
1.jdb(The Java Debuger) jdb 用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常 ...