Mysql学习总结(33)——阿里云centos配置MySQL主从复制
1.安装jdk1.8
首先确定没有安装过jdk
2.yum –y list java*查询系统自带的jdk安装包情况。
3.安装jdk1.8
4. 验证安装结果。
安装mysql
1. rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
2. yum -y install mysql-community-server
3.加入开机启动:systemctl enable mysqld
4. 启动mysql服务进程:启动mysql服务进程systemctl start mysqld
5.修改mysql root的密码:
第一次设置root密码可以使用以下命令:
mysqladmin -u root password NEWPASSWORD
如果你已经设置过密码了,需要要以下命令:
1
mysqladmin -u root -p'oldpassword' password newpass
比如说,旧密码是“12345”,新密码是“nowamagic”,执行以下命令:
1
mysqladmin -u root -p'12345' password 'nowamagic'
修改其它MySQL用户的密码
修改一个普通用户的密码你可以使用以下命令,比如用户是 nmuser:
1
mysqladmin -u nmuser -p oldpassword password newpass
另一种修改密码的方法是,MySQL 服务器把用户名和密码储存在 MySQL 数据库的 user 表中。你可以使用以下方法来直接更新用户 nmuser 的密码:
1. 登录mysql服务器:
mysql -u root -p
2. 选择 MySQL 数据库
mysql> use mysql;
3. 修改 nmuser 密码
mysql> update user set password=PASSWORD("NEWPASSWORD") where User='nmuser';
4. 重置权限
mysql> flush privileges;
mysql> quit
这种方法也可以用脚本(PHP,Perl)执行,不用SSH到服务器。
主从配置
1. 分别登录master机和slave机的mysql:mysql –u root –p
创建数据库:create database repl;
2. 1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下
在[mysqld]配置段添加如下字段
server-id=1
log-bin=log
binlog-do-db=repl //需要同步的数据库,如果没有本行,即表示同步所有的数据库
binlog-ignore-db=mysql //被忽略的数据库
在master机上为slave机添加一同步帐号
grant replication slave on *.* to 'repl'@'192.1681.220' identifiedby '123456';
表示192.1681.220上的slave可以使用repl/123456帐号在master机器上进行replication同步数据的操作。
3 . 重启master机的mysql服务:service mysqld restart
4. 用show master status 命令看日志情况
mysql>show master status;
+-----------------+------------+-------------------+-----------------------+
|File |Position | Binlog_Do_DB |Binlog_Ignore_DB |
+-----------------+------------+-------------------+-----------------------+
| log.000003| 98 |repl |mysql |
+-----------------+------------+-------------------+-----------------------+
1 row in set (0.00 sec)
5. 修改slave机中mysql配置文件my.cnf。
同样在[mysqld]字段下添加如下内容
server-id=2
在从库上执行如下命令:
change master to master_host='10.171.244.109',
master_user=' repl ',
master_password='123456',
master_log_file=" log.000003",
master_log_pos=98;
表示用帐号密码登录到master库上去,在master库的log.000003 binlog的98位置处开始做数据同步操作了。
然后重启slave机的mysql。
6.在slave机中进入mysql
mysql>start
slave;//开启io线程。
mysql>show
slave status \G;
如果Slave_IO_Running、Slave_SQL_Running状态为Yes则表明设置成功。
7. 测试主从服务器是否能同步
在主服务器上面新建一个表,必须在repl数据下
mysql> use repl
Database changed
mysql> create table test(id int,namechar(10));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test values(1,'zaq');
Query OK, 1 row affected (0.00 sec)
mysql> insert into test values(1,'xsw');
Query OK, 1 row affected (0.00 sec)
mysql> select * from test;
+------+------+
| id |name |
+-------+------+
| 1 |zaq |
| 1 | xsw |
+-------+------+
2 rows in set (0.00 sec)
在从服务器查看是否同步过来
mysql> use repl;
Database changed
mysql> select * from test;
+------+------+
| id |name |
+------+------+
| 1 | zaq |
| 1 | xsw |
+------+------+
2 rows in set (0.00 sec)
说明已经同步成功了。
注意一定要在主库上进行增加,修改和删除的操作,然后同步到从库去,从库只能提供查询,不能对从库的数据进行增加,修改和删除的操作。
原理探究
MySQL同步功能由3个线程(master上1个,slave上2个)来实现。执行 START SLAVEDE语句后,slave就创建一个I/O线程。I/O线程连接到master上,并请求master发送二进制日志中的语句。master创建一个线程来把日志的内容发送到slave上。这个线程在master上执行
SHOW PROCESS LIST 语句后的结果中的 Binlog Dump 线程便是。slave上的I/O线程读取master的 Binlog Dump 线程发送的语句,并且把它们拷贝到其数据目录下的中继日志(relay logs)中。第三个是SQL线程,salve用它来读取中继日志,然后执行它们来更新数据。
如上所述,每个master/slave上都有3个线程。每个master上有多个线程,它为每个slave连接都创建一个线程,每个slave只有I/O和SQL线程。
Mysql学习总结(33)——阿里云centos配置MySQL主从复制的更多相关文章
- 阿里云centos中mysql的安装及一些常识知识
------------------------------------------------------------------- 阿里云centos中mysql的安装 工具WinSCP v ...
- 阿里云安装配置mysql(centos版)
这种是利用yum下载的也可以使用xftp上传 1,安装mysql数据库 a)下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-re ...
- 阿里云Centos配置iptables防火墙
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...
- 阿里云CentOS配置iptables防火墙[转]
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...
- 阿里云centos配置nginx和nodejs
今天新买了阿里云,想把网站跑起来,于是记录跑起来的过程 1.购买域名 2.购买解析 3.购买ecs主机 4.ssh登录主机 5.安装vsftpd 6.配置ftp用户.文件夹.权限 7.安装nginx/ ...
- Ali_Cloud++:阿里云Centos配置iptables防火墙教程
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 1):检查iptab ...
- 阿里云Ubuntu配置mysql+navicat连接
一>mysql安装配置(工具:Xshell6) 1.安装mysql apt-get install mysql-server mysql-client 2.查看安装:查看版本 sudo ...
- 阿里云Centos操作Mysql
1. CentOS7 yum方式安装MySQL5.7 2.Centos下mysql导入sql 3.Centos设置远程 4.CentOS下mysql数据库常用命令总结 5.centos出现“Fire ...
- 阿里云CentOS配置全过程
1. 安装基本依赖包 yum install gcc gcc-c++ autoconf automake 2. 升级所有 yum update 3.安装mongodb 1. 配置mongodb- ...
随机推荐
- applicationContext-solr.xml
一.动态切换单机和集群 spring-solr 的配置 <!-- 单机版 solrj --> <bean id = "httpSolrServer" class= ...
- Virtual address cache memory, processor and multiprocessor
An embodiment provides a virtual address cache memory including: a TLB virtual page memory configure ...
- BA--空调静压箱的作用
空调静压箱的主要作用有两个,一个是降低噪音:一个是提高送风距离.工作原理如下:空调出风从空调风机里面出来的时候,具有很大的风速,同时由于空调风机自身的结构原因,空调的出风并不均衡,空气在风管中相互摩擦 ...
- Java多线程演示样例(模拟通话,sleep,join,yield,wait,notify,Semaphore)
主线程等待子线程的多种方法 synchronized浅析 sleep 是静态方法,Thread.sleep(xx)谁调用谁睡眠. join 是合并方法.当前线程调用其它线程xx.join()则等到xx ...
- DirectX11 学习笔记10 - 用文件存储顶点布局
这节须要把顶点布局写在文件中面,为了方便.由于一大串很抽象的坐标放在CPP和程序混在一起很的不方便. 以下全为c++知识,读取文件中面的特定格式的数据: Vertex Count: 36 Data: ...
- 安卓项目开发实战(1)--首页顶部菜单BAR实现
从今天開始,我将開始自己手写一个星座运势的项目,星座运势的数据来源採用MYAPI的星座数据,client全然自己实现. 这个系列主要是讲project中主要界面的布局展示和一些项目中的难点解析.因为本 ...
- 近200篇机器学习&深度学习资料分享
编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.并且原文也会不定期的更新.望看到文章的朋友能够学到很多其它. <Brief History of Machine ...
- 程序猿爱情表白专用html5动画网页的代码
程序猿爱情表白专用html5动画网页的代码 下载地址:源代码 程序员表白专用的html5动画特效网页,真的挺羡慕创作者的水平,有这水平能够把爱表白给想表白的人,不要以为那些鲜花是用 的图片.你会发如今 ...
- luogu 1593 因子和
因子和 题目描述 输入两个正整数a和b,求\(a^b\)的因子和.结果太大,只要输出它对9901的余数. 解法 基本算数定理,每一个数都可以被分解成一系列的素数的乘积,然后你可以分解出因数了. 如何求 ...
- c# post方式请求java form表单api
using System; using System.Collections.Generic; using System.Net.Http; namespace ConsoleApplication1 ...