我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL入门(四)

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL入门(四)

MySQL入门(四)

 

1.  集群搭建之主从复制

MySQL主从复制是一个异步的复制过程,主库发送更新事件到从库,从库读取更新记录,并执行更新记录,使得从库的内容与主库保持一致。

1.1   主服务器的配置

1.1.1   第一步:修改my.conf文件:

在[mysqld]段下添加:

#启用二进制日志

log-bin=mysql-bin

#服务器唯一ID,一般取IP最后一段

server-id=133

1.1.2   第二步:重启mysql服务

service mysqld restart

1.1.3   第三步:建立帐户并授权slave

mysql>GRANT FILE ON *.* TO "backup"@"%" IDENTIFIED BY "123456";

mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to "backup"@"%" identified by "123456";

#一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。

刷新权限

mysql> FLUSH PRIVILEGES;

查看mysql现在有哪些用户

mysql>select user,host from mysql.user;

1.1.4   第四步:查询master的状态

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      120 | db1          | mysql            |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set

1.2   从服务器配置

1.2.1   第一步:修改my.conf文件

[mysqld]

server-id=134

 

1.2.2   第二步:删除UUID文件

错误处理:

如果出现此错误:

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

因为是mysql是克隆的系统所以mysql的uuid是一样的,所以需要修改。

解决方法:

删除/var/lib/mysql/auto.cnf文件,重新启动服务。

 

1.2.3   第三步:配置从服务器

mysql>change master to master_host="192.168.25.134",master_port=3306,master_user="backup",master_password="123456",master_log_file="mysql-bin.000001",master_log_pos=120

 

注意语句中间不要断开,master_port为mysql服务器端口号(无引号),master_user为执行同步操作的数据库账户,“120”无单引号(此处的120就是show master status 中看到的position的值,这里的mysql-bin.000001就是file对应的值)。

1.2.4   第四步:启动从服务器复制功能

mysql>start slave;

 

1.2.5   第五步:检查从服务器复制功能状态:

mysql> show slave status

……………………(省略部分)

Slave_IO_Running: Yes //此状态必须YES

Slave_SQL_Running: Yes //此状态必须YES

……………………(省略部分)

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

 

 

 

2.  集群搭建之读写分离

 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。

  因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。

 

2.1 配置读写分离

    首先我们在前面当中已经运行了mysql-proxy我们需要先杀死这个进程:sudo killall mysql-proxy

 

#!bash/bin
/opt/mysql-proxy/bin/mysql-proxy
--proxy-address=1.0.0.3:4040 
--proxy-backend-addresses=17.16.15.112:3125   #在3125端口的服务器中配置可读可写
--proxy-read-only-backend-addresses=172.16.15.112:3126  #在3126端口的服务器中配置只读
--proxy-lua-script=/opt/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua   #用这个lua脚本来实现读写分离
--log-level=info 
--log-file=/opt/mysql-proxy/logs/mysql-proxy-12.log  #这是它的日志
--daemon

 

 

  3)我们查看一下日志,看是否脚本运行成功

    sudo vi /opt/mysql-proxy/logs/mysql-proxy-12.log 

2017-09-20 03:03:58: (critical) plugin proxy 0.8.5 started
2017-09-20 03:03:58: (message) proxy listening on port 1.0.0.3:4040
2017-09-20 03:03:58: (message) added read/write backend: 17.16.15.112:3125
2017-09-20 03:03:58: (message) added read-only backend: 172.16.15.112:3126

 

  4)获取连接:mysql -uroot -p123456 -h1.0.0.3 -P4040

    分析:我们的用户名和密码是使用的是MySQL服务器的用户名和密码,因为是要从他们两个当中获取连接,ip和端口都是使用代理的ip和端口。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL入门(四)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL入门(四)

1.  集群搭建之主从复制MySQL主从复制是一个异步的复制过程,主库发送更新事件到从库,从库读取更新记录,并执行更新记录,使得从库的内容与主库保持一致。1.1   主服务器的配置1.1.1   第一步:修改my.conf文件:在[mysqld]段下添加:#启
MySQL入门(四)
2014-08-05

python入门(四)

python*列表生成 1语法:      range(starti  stop step)         2.7版本      list(range(starti  stop step)))     3.5     2.通过循环生成列表
2023-01-31

Oracle入门学习四

上一篇:Oracle入门学习三学习视频:https://www.bilibili.com/video/BV1tJ411r7EC?p=35Oracle表连接:内连接、外连接。外连接分左连接、右连接。多表查询时,如果表之间没有条件关联,则会把所有匹配的结果查找出来
Oracle入门学习四
2017-05-24

Python3快速入门(四)——Pyth

一、Python包简介1、包Python中使用包管理模块,包通常对应一个目录,必须在目录下创建一个init.py模块,init.py模块的模块名称即为包名,Python才会将目录解析为包。init.py文件内可以定义初始化包的内容,导入包的
2023-01-31

【MySQL新手入门系列四】:手把手教你MySQL数据查询由入门到学徒

SQL语言是与数据库交互的机制,是关系型数据库的标准语言。SQL语言可以用于创建、修改和查询关系数据库。SQL的SELECT语句是最重要的命令之一,用于从指定表中查询数据。在此博客中,我们将进一步了解SELECT语句以及WHERE子句以及它
2023-08-17

python入门(四)python对文件

python对文件的操作很常用,比如我们需要打开一个文件获取数据,或者创建文件改变数据vi 1.txthello word我们创建一个文件叫1.txt,然后我们需要对文件进行操作1、对文件进行读 file = open("1.txt" "r
2023-01-31

Python3快速入门(十四)——Pan

一、DataFrame IO1、CSV文件pandas.read_csv(filepath_or_buffer, na_values='NAN', parse_dates=['Last Update'])从CSV文件中读取数据并创建一个Da
2023-01-31

Mysql入门

一、数据库概述1、为什么要用数据库?程序中的数据是在内存中,一旦程序关了,数据就没了,没法永久保存。所以我们需要把数据“持久化”。我们虽然学过IO流和File类,可以实现数据的持久化,但是用普通的文件保存的话数据的格式检索、管理(增加、修改、删除)等操作及其不
Mysql入门
2014-06-01

mysql入门(一)

数据库介绍数据库是在计算机出现以后,为了解决计算机存储问题而创建,数据库中包含表,表当中才是数据。数据库的发展史1. 萌芽阶段所有存储依赖的都是文件,安全性低,查找非常困难。2. 层次模型1). 优点:查询分类的效率高;2). 缺点:导航结构:如果查找同类别数
mysql入门(一)
2019-10-16

mysql入门(五)

SQL编程1).if-elseif-else语句语法:if 条件 then //条件1elseif 条件 then //条件2else //条件3end if;示例演示:create procedure pro_9(in grade int)
mysql入门(五)
2016-01-30

mysql入门(二)

MySQL数据库中相关概念介绍 1.字符集字符集:可见字符在保存和传输的时候,二进制的代码集合。字符集:1. 保存数据;2. 传输数据。1). MySQL可以在服务器上,数据库,表,字段上指定字符集 2). 服务器上在系统安装的时候就要指定3). 数据库,表和
mysql入门(二)
2019-07-23

mysql入门(三)

数据库查询操作关键字:selectselect   结果集   from   数据源   [where 条件]   [group by(分组)]   [having 条件]   [order by(排序) asc|desc]   [limit(限制) s,n]
mysql入门(三)
2022-01-02

MySQL入门(二)

1.  MySQL架构1.1         逻辑架构图1.1.1   Connection Pool: 连接池* 管理缓冲用户连接,线程处理等需要缓存的需求。* 负责监听对 MySQL Server 的各种请求,接收连接请求,转发所有连接请求到线程管理模块。
MySQL入门(二)
2015-12-15

前端基础入门四(JavaScript基础)

目标:掌握编程的基本思维掌握编程的基本语法我们先来学习JavaScript基础,后续会讲解JavaScript高级。重点内容变量的声明及使用数据类型类型转换运算符JavaScript介绍JavaScript是什么JavaScript是一种运
2023-06-03

Flask入门到放弃(四)—— 数据库

转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/10979970.htmlORMORM 全拼Object-Relation Mapping,中文意为 对象-关系映射。主要实现模型对象到关系数
2023-01-31

MySQL入门学习

数据库的好处 1.持久存到本地 2.可以实现结构化查询,方便管理 数据库相关概念 1.DB:数据库,保存一组有组织的数据的融通器 2.DBMS:数据库管理系统,又称数据库软件(产品),用于管理DB中的数据 3.
MySQL入门学习
2015-02-25

编程热搜

目录