bitsCN.com
今天在ubuntu下进行了mysql的Master和Slave的简单配置,基本上属于hello world的难度,但是看起来很简单,但真正做一遍,可不是那么的容易了。
环境:在两台电脑上,开启mysql服务。
原理:在slave端会有两个线程负责同步工作,一个IO线程,负责将master中的bin log读取过来转换为relay log;另一个是sql线程,根据relay log执行sql语句。
首先说一下大体的步骤,其实就是两部分,一部分是master端的配置,另一部分就是slave端的配置。
一、master端的配置
在master端,主要有两个事情需要做,一个是授权,另一个是修改配置文件。
授权:grant replication slave on *.* to ‘slave’@34.34.34.34 identified by '123';
配置文件:bind-address = 0.0.0.0 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
bind-address改为0.0.0.0为了允许远程访问;server-id唯一表示该master;log-bin记录对数据库的日志,slave通过该文件同步。
二、slave端的配置
slave端的配置主要是让slave知道同步master的地址以及日志文件,可以通过两种方式实现,一种是直接在配置文件中设定参数,另一种是在mysql命令行中设定master。
配置文件方式:在mysqld中添加下面的参数
server-id = 2
master-host = 45.45.45.45
master-user = slave
master-password = 123
master-port = 3306
log_bin = /var/log/mysql/mysql-bin.log //本地的binlog文件
relay_log = /var/log/mysql/mysql-relay.log //转化成的relay_log文件
master_log_file = mysql-bin.000022 //master中的bin log文件
master_log_pos = 106 //从那个位置开始恢复
命令行方式:
change master to master_host='45.45.45.45', master_user='slave', master_password='123', master_port=3306, master_log_file='mysql-bin.000022', master_log_pos=106;
这两种方式可以混合用,但server-id必须在配置文件中说明。
配置完成之后,通过slave stop/start开启slave线程。
通过 show slave status;查看线程的状态。
第一次试验时出现io线程失败, 原因可能有三个:1、网络出现问题,2、my.cnf配置有问题,3、权限不对,如何看是那一种原因呐,可以查看error log,通过error log的提示查找错误。
数据复制是mysql的核心功能,看起来配置很简单,但是想真正实现安全、完成的复制还是需要很多工作的,以上只是一个简单的配置,如果需要更好的应用还需要深入的学习。
bitsCN.com
本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 Linux new version
SublimeText3 Linux latest version
