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主从复制的更多相关文章

  1. 阿里云centos中mysql的安装及一些常识知识

    -------------------------------------------------------------------    阿里云centos中mysql的安装 工具WinSCP v ...

  2. 阿里云安装配置mysql(centos版)

    这种是利用yum下载的也可以使用xftp上传 1,安装mysql数据库 a)下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-re ...

  3. 阿里云Centos配置iptables防火墙

    虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...

  4. 阿里云CentOS配置iptables防火墙[转]

    虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...

  5. 阿里云centos配置nginx和nodejs

    今天新买了阿里云,想把网站跑起来,于是记录跑起来的过程 1.购买域名 2.购买解析 3.购买ecs主机 4.ssh登录主机 5.安装vsftpd 6.配置ftp用户.文件夹.权限 7.安装nginx/ ...

  6. Ali_Cloud++:阿里云Centos配置iptables防火墙教程

    虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 1):检查iptab ...

  7. 阿里云Ubuntu配置mysql+navicat连接

    一>mysql安装配置(工具:Xshell6) ​ 1.安装mysql apt-get install mysql-server mysql-client ​ 2.查看安装:查看版本 sudo ...

  8. 阿里云Centos操作Mysql

    1.  CentOS7 yum方式安装MySQL5.7 2.Centos下mysql导入sql 3.Centos设置远程 4.CentOS下mysql数据库常用命令总结 5.centos出现“Fire ...

  9. 阿里云CentOS配置全过程

    1. 安装基本依赖包    yum install gcc gcc-c++ autoconf automake 2. 升级所有 yum update 3.安装mongodb 1. 配置mongodb- ...

随机推荐

  1. 【转】C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素

    有时候,我们要对图层上的地物进行有选择性的显示,以此来满足实际的功能要求. 按下面介绍的方法可轻松实现图层属性过滤显示: 1.当图层已经加载时 private void ShowByFilter(Ax ...

  2. iterator遍历list理解

    1.iterator的next()方法返回值,就是你指定的iiterator<>泛型.所以你再强制转换,就可以得到list里的item了,直接是item对象了. 2.list这东西,你ne ...

  3. [ASP.NET]EF选一个空表的情况

    public List<DAL.StuFillAnswers> FillsToCheck(int sid,int eid) { using (DAL.ExamSysEntities db ...

  4. HDU 4354

    思路是在看电视时突然想到的.枚举区间,然后按树形DP来选择最大值看是否满足条件.但枚举区间时的方法低效,看了题解,说枚举区间可以设两个指针逐步移动, 开始 l = r = 1, 记录已经出现的国家. ...

  5. Android面试过程描写叙述

    1.之前所写项目的介绍 2.android一些常见问题的问答 3.关于android平时非常少用到但实则非常重要的问题描写叙述 技术分析 1自我感觉面试中比較好的方面: 1.熟悉掌握之前所写项目 2. ...

  6. linux驱动之poll操作

    POLL操作 1.POLL运行过程: poll是一个系统调用,其内核入口函数为sys_poll,sys_poll差点儿不做不论什么处理直接调用do_sys_poll,do_sys_poll的运行过程能 ...

  7. 赵雅智_android获取本机运营商,手机号部分能获取

    手机号码不是全部的都能获取.仅仅是有一部分能够拿到. 这个是因为移动运营商没有把手机号码的数据写入到sim卡中.SIM卡仅仅有唯一的编号.供网络与设备 识别那就是IMSI号码,手机的信号也能够说是通过 ...

  8. idea使用技巧资料篇

    基本使用:https://my.oschina.net/lujianing/blog/177042#OSC_h1_2 解决idea卡顿问题:http://www.cnblogs.com/ae6623/ ...

  9. File and Folder Permissions

    https://msdn.microsoft.com/en-us/library/bb727008.aspx On NTFS volumes, you can set security permiss ...

  10. Java-杂项: Java中Array和ArrayList区别

    ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1. 1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array( ...