MySql 主从、主主同步,异步主主同步

MySql 主从、主主同步,异步主主同步
MySql 主从、主主同步,异步主主同步

MySql 主从、主主同步,异步主主同

主从模式备份

A、环境描述

服务器A(主) 192.168.1.114

服务器B(从) 192.168.1.115

Mysql版本:

Ver 14.14 Distrib 5.5.40, for debian-linux-gnu (x86_64) using readline 6.3

System OS:ubuntu 14.10

主从需同步的数据库内容保持一致。

B、主从配置过程

主服务器

a)创建同步用户

在主服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICAITON SLAVE权限。

服务器A:

添加一个有 slave权限的账户

grant replication slave on *.* to 'sync'@'192.168.1.%'identified

by 'Password-2';

flush privileges;

b)修改mysql配置文件

[mysqld]

server-id= 1

log-bin=/var/log/mysql/mysql-bin

binlog-do-db = mysql

c)重启mysql服务

d)、查看主服务器状态

从服务器

a)修改mysql配置文件

[mysqld]

server-id= 2

log-bin = /var/log/mysql/mysql-bin

replicate-do-db = mysql

b)重启mysql服务

sudo service mysql restart

c)用change master语句指定同步位置

由于配置的sync账户未能成功登陆,方便实验使用root账户登陆测试

mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.114', MASTER_USER='root', MASTER_PASSWORD='Password-2',

MASTER_LOG_FILE='mysql_bin.000001',MASTER_LOG_POS=871;

master_log_file,master_log_pos由上面主服务器查出的状态值中确定。

master_log_file对应File,master_log_pos对应Position。

d)启动从服务器线程

mysql>start slave;

e)查看从服务器状态

mysql>show slave status\G;

。。。。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

。。。。

C、测试主从同步

在114的mysql数据表里插入一条新的数据,115同步备份

异常,以下提示

mysql>start slave;

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

解决办法:

确认slave和master的上的server_id是否正确。可以分别在slave和master上运

行 SHOW VARIABLES LIKE 'server_id'; 来查看server_id是否和你配置的一样。如果不

一样可以使用set global server_id=2;更改server_id的值。

show slave status\G;

。。。

Slave_IO_Running: No

Slave_SQL_Running: Yes

。。。

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'

。。。

解决办法:

数据库主从出错:

Slave_IO_Running: No 一方面原因是因为网络通信的问题也有可能是日志读取错误的问题。以下是日志出错问题的解决方案:

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'

解决办法:

从机器停止slave

mysql> slave stop;

到master机器登陆mysql:

记录master的bin的位置,例如:mysql> show mster status;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000001 | 107 | | information_schema,mysql |

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

日志为mysql-bin.000001

刷新日志:mysql> flush logs;

因为刷新日志file的位置会+1,即File变成为:mysql-bin.000002

马上到slave执行

mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=107;

mysql> slave start;

mysql> show slave status\G;

主主模式备份

A、环境描述

服务器A(主) 192.168.1.114

服务器B(从) 192.168.1.115

Mysql版本:

Ver 14.14 Distrib 5.5.40, for debian-linux-gnu (x86_64) using readline 6.3

System OS:ubuntu 14.10

主从需同步的数据库内容保持一致。

B、主从配置过程

a)创建同步用户

在主服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICAITON SLAVE权限。

这里服务器A和服务器B互为主从,所以都要分别建立一个同步用户。

服务器A和B:

grant replication slave on *.* to 'sync'@'192.168.1.%'identified

by 'Password-2';

flush privileges;

b)修改mysql配置文件

服务器A

[mysqld]

server-id = 1

log-bin = /var/log/mysql/mysql-bin

binlog-do-db = mysql

#binlog-ignore-db=mysql

#主主需加入的部分

log-slave-updates

sync_binlog=1

auto_increment_offset=1

auto_increment_increment=2

replicate-do-db = mysql

replicate-ignore-db = information_schema

服务器B

[mysqld]

server-id= 2

log-bin = /var/log/mysql/mysql-bin

replicate-do-db = mysql

#replicate-ignore-db = mysql,information_schema #主主需要加入部分

binlog-do-db = mysql

#binlog-ignore-db=mysql

log-slave-updates

sync_binlog=1

auto_increment_offset=2

auto_increment_increment=2

c)分别重启服务器A、B上的mysql服务

sudo service mysql restart

d)、分别在服务器A、B上查看做为主服务器状态

show master status\G;

A服务器

B服务器

很巧合File的编号是一样的,其实编号可以不一样!

c)分别在服务器A、B上用change master语句指定同步位置

A服务器

mysql>change master to master_host='192.168.1.115',

master_user='root', master_password='Password-2',

master_log_file='mysql-bin.000003', master_log_pos=107;

B服务器

mysql>change master to master_host='192.168.1.114',

master_user='root', master_password='Password-2',

master_log_file='mysql-bin.000003', master_log_pos=107;

注:master_log_file,master_log_pos由上面主服务器查出的状态值中确定。

master_log_file对应File,master_log_pos对应Position。

d)分别在服务器A、B上启动从服务器线程

mysql>start slave;

e)分别在服务器A、B上查看从服务器状态

show slave status\G;

A服务器

B服务器

查看以上两项的值,均为Yes则表示状态正常。

f)、测试主主同步

异常,以下提示

一:

Show slave status\G;

Fatal error: The slave I/O thread stops because m aster and slave have equal MySQL server ids; these ids must be different for rep lication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the

manual before using it).

解决办法

Host_name 配置错误,修改即可

Change master to master_host=’192.168.1.114’;

二:

Show slave status\G;

Error 'Duplicate entry 'slave creat' for key 'PRIMARY'' on query. Default database: 'mysql'. Query: 'INSERT INTO `servers` (`Server_name`, `Host`) VALUES ('slave creat', '1.1.1.3')'

解决办法

修改mysql配置文件 /etc/https://www.360docs.net/doc/6b3060638.html,f 在 [mysqld]下加一行 slave_skip_errors = 1062 ,保存.重启mysql.

三:

mysql> show slave status\G;

Empty set (0.00 sec)

ERROR:

No query specified

解决办法

mysql> change master to master_host = '192.168.1.115',master_user = 'root',master_Password

= ' Password-2',master_log_file = 'mysql-bin.000002',master_log_pos = 394;

Query OK, 0 rows affected (0.00 sec)

四:

mysql> start slave;

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANG E

MASTER TO

解决办法

mysql> change master to master_host = '19.90.12.4',master_user = 'root',master_Password = '

Password-2',master_log_file = 'mysql-bin.000002',master_log_pos = 394;

Query OK, 0 rows affected (0.00 sec)

异步主主同步

异步同步是:用户读取主库数据前先给主库加写入锁(命令:FLUSH TABLES WITH READ LOCK;此时主库可读),禁止写入新数据,此时从库可以开始更新数据,当从库更新结束确认无误,等待用户访问结束,再次解锁主库(命令:UNLOCK TABLES;)让其同步从库发生的更新,如此可以避免用户在访问主库的时刻,从库更新导致的数据异常!

配置参数说明

server-id

ID值唯一的标识了复制群集中的主从服务器,因此它们必须各不相同。master_id必须为1到232–1之间的一个正整数值,slave_id值必须为2到232–1之间的一个正整数值。

log-bin

表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的

前提;

binlog-do-db

表示需要记录进制日志的数据库。如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

binlog-ignore-db

表示不需要记录二进制日志的数据库。如果有多个数据库可用逗号分隔,或者使用多个

binlog-do-db选项

replicate-do-db

表示需要同步的数据库,如果有多个数据库可用逗号分隔,或者使用多个replicate-do-db选

replicate-ignore-db=mysql

表示不需要同步的数据库,如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-

db=mysql选项

log-slave-updates

配置从库上的更新操作是否写入二进制文件,如果这台从库,还要做其他从库的主库,那么

就需要打这个参数,以便从库的从库能够进行日志同步

slave-skip-errors

在复制过程,由于各种原因导致binlog中的sql出错,默认情况下,从库会停止复制,要用

户介入。可以设置Slave-skip-errors来定义错误号,如果复制过程中遇到的错误号是定义的错误号,便可以跳过。如果从库是用来做备份,设置这个参数会存在数据不一致,不要使用。如果是分担

主库的查询压力,可以考虑。

sync_binlog=1 or N

sync_binlog的默认值是0,这种模式下,MySQL不会同步到磁盘中去。这样的话,MySQL依

赖操作系统来刷新二进制日志binary log,就像操作系统刷其他文件的机制一样。因此如果操作系

统或机器(不仅仅是MySQL服务器)崩溃,有可能binlog中最后的语句丢失了。要想防止这种情况,你可以使用sync_binlog全局变量,使binlog在每N次binlog写入后与硬盘同步。当sync_binlog

变量设置为1是最安全的,因为在crash崩溃的情况下,你的二进制日志binary log只有可能丢失

最多一个语句或者一个事务。但是,这也是最慢的一种方式(除非磁盘有使用带蓄电池后备电源

的缓存cache,使得同步到磁盘的操作非常快)。

即使sync_binlog设置为1,出现崩溃时,也有可能表内容和binlog内容之间存在不一致性。如

果使用InnoDB表,MySQL服务器处理COMMIT语句,它将整个事务写入binlog并将事务提交到InnoDB中。如果在两次操作之间出现崩溃,重启时,事务被InnoDB回滚,但仍然存在binlog中。可以用–innodb-safe-binlog选项来增加InnoDB表内容和binlog之间的一致性。(注释:在MySQL 5.1中不需要–innodb-safe-binlog;由于引入了XA事务支持,该选项作废了),该选项可以提供

更大程度的安全,使每个事务的 binlog(sync_binlog =1)和(默认情况为真)InnoDB日志与硬盘同步,

该选项的效果是崩溃后重启时,在滚回事务后,MySQL服务器从binlog剪切回滚的InnoDB事务。这样可以确保binlog反馈InnoDB表的确切数据等,并使从服务器保持与主服务器保持同步(不接

收回滚的语句)。

auto_increment_offset和auto_increment_increment

auto_increment_increment和auto_increment_offset用于主-主服务器(master-to-master)复制,并可以用来控制AUTO_INCREMENT列的操作。两个变量均可以设置为全局或局部变量,并且假定

每个值都可以为1到65,535之间的整数值。将其中一个变量设置为0会使该变量为1。

这两个变量影响AUTO_INCREMENT列的方式:auto_increment_increment控制列中的值的增量值,auto_increment_offset确定AUTO_INCREMENT列值的起点。

如果auto_increment_offset的值大于auto_increment_increment的值,则

auto_increment_offset的值被忽略。例如:表内已有一些数据,就会用现在已有的最大的自增值做为初始值。

二进制日志清除

主同步服务器产生的二进制日志会占据大量的磁盘空间,应定期删除过期的bin-log。

A、通过PURGE MASTER LOGS删除

如果您有一个在用的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是停止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。

要清理日志,需按照以下步骤:

1、在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。

2、使用SHOW MASTER LOGS获得主服务器上的一系列日志。

3、在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。

4、制作您将要删除的所有日志的备份。(建议备份)

5、清理所有的日志,但是不包括目标日志。

PURGE 语法

PURGE {MASTER | BINARY} LOGS TO ‘log_name’

PURGE {MASTER | BINARY} LOGS BEFORE ‘date’

用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。

BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同义词。

例如:

#删除binlog.000002之前的而不包含binlog.000002

mysql> PURGE MASTER LOGS TO 'binlog.000002';

#删除2011-05-28 1:35:00之前的

mysql> PURGE MASTER LOGS BEFORE '2011-05-28 1:35:00';

#清除3天前的binlog

mysql> PURGE MASTER LOGS BEFORE DATE_SUB(NOW( ), INTERVAL 3 DAY);

B、设置expire-logs-days参数

缺省expire-logs-days为30天。这里设为7天,可根据自己情况调整。

[mysqld]

expire-logs-days = 7

用于控制主、从服务器的SQL语句

A、用于控制主服务器的SQL语句

PURGE MASTER LOGS

用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。

RESET MASTER

可以删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件。

SET SQL_LOG_BIN

如果客户端使用一个有SUPER权限的账户连接,则可以禁用或启用当前连接的二进制日志记录。如果客户端没有此权限,则语句被拒绝,并伴随有错误。

SHOW BINLOG EVENTS

用于在二进制日志中显示事件。如果您不指定’log_name’,则显示第一个二进制日志。

SHOW MASTER LOGS

用于列出服务器中的二进制日志文件。

SHOW MASTER STATUS

用于提供主服务器二进制日志文件的状态信息。

SHOW SLAVE HOSTS

用于显示当前使用主服务器注册的复制从属服务器的清单。

B、用于控制从服务器的SQL语句

CHANGE MASTER TO

可以更改从属服务器用于与主服务器进行连接和通讯的参数。

LOAD DATA FROM MASTER

用于对主服务器进行快照,并拷贝到从属服务器上。

LOAD TABLE tbl_name FROM MASTER

用于把表的拷贝从主服务器转移到从属服务器。

MASTER_POS_WAIT()

这实际上是一个函数,而不是一个语句。它被用于确认,从属服务器已读取并执行了到达主服务器二进制日志的给定位置。

RESET SLAVE

用于让从属服务器忘记其在主服务器的二进制日志中的复制位置。

SET GLOBAL SQL_SLAVE_SKIP_COUNTER

从主服务器中跳过后面的n个事件。要复原由语句导致的复制中止,这是有用的。

SHOW SLAVE STATUS

用于提供有关从属服务器线程的关键参数的信息。

START SLAVE

用于启动从属服务器线程

STOP SLAVE

用于中止从属服务器线程

主从复制如何提高可靠性

主从单向复制,从服务器只是实时的保存了主服务器的一个副本。当主服务器发生故障时,可以切换到从服务器继续做查询,但不能更新。

如果采用双向复制,即两台mysql服务器即作为主服务器,又作为从服务器。那么两者都可以执行更新操作并能实现负载均衡,当一方出现故障时,另一方不受影响。但是,除非能保证任何更新操作顺序都是安全的,否则双向复制会导致失败。

为了更好的提高可靠性和可用性,需要当主服务器不可用时,令从服务器成为Master。原来的主服务器设定为Slave,并从新的Master上同步更新。现在已经有了一个这样开源解决方案[MySQL Master-Master Replication Manager]

参考文档

https://www.360docs.net/doc/6b3060638.html,/lib/view/open1349965559150.html

https://www.360docs.net/doc/6b3060638.html,/window_linux/122.html

https://www.360docs.net/doc/6b3060638.html,/billfanggs/article/details/8905991

MySQL主从复制、搭建、状态检查、中断排查及备库重做 实战手册

美河学习在线https://www.360docs.net/doc/6b3060638.html, MySQL主从复制 MySQL主从复制、搭建、状态检查、中断排查及备库重做 本文档主要对MySQL主从复制进行简单的介绍,包括原理简介、搭建步骤、状态检查、同步中断及排查、备库重建。

目录 一、MySQL主从复制概述 (2) 1、主从复制简介 (2) 2、主从复制原理、机制 (2) 3、主从复制原理图 (3) 二、MySQL主从复制搭建 (4) 1、Master端配置部署 (4) 2、Slave端配置部署 (4) 3、建立主从同步 (4) 三、主从复制状态检查及异常处理 (6) 1、主从复制状态检查 (6) 2、IO_thread异常 (7) 3、sql_thread异常 (8) 4、主从复制延迟 (9)

一、MySQL主从复制概述 1、主从复制简介 MySQL主从复制就是将一个MySQL实例(Master)中的数据实时复制到另一个MySQL实例(slave)中,而且这个复制是一个异步复制的过程。 实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(sql_thread和IO_thread),另外一个进程在 Master(IO进程)上。 2、主从复制原理、机制 要实施复制,首先必须打开Master端的binary log(bin-log)功能,否则无法实现。因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全顺序的执行日志中所记录的各种操作。 复制的基本过程如下: 1)、Slave上面的IO_thread连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容; 2)、Master接收到来自Slave的IO_thread的请求后,通过负责复制的IO进程根据请求信息读取制定日志指定位置之后的日志信息,返回给Slave 的IO_thread。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到Master端的bin-log file的以及bin-log pos; 3)、Slave的IO_thread接收到信息后,将接收到的日志内容依次添加到Slave端的relay-log文件的最末端,并将读取到的Master端的 bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉Master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我”; 4)、Slave的Sql_thread检测到relay-log中新增加了内容后,会马上解析relay-log 的内容成为在Master端真实执行时候的那些可执行的内容,并在本数据库中执行。

MySQL数据双向同步解决方案

1.mysql数据同步实现原理 即读写操作在两台服务器上进行,每台服务器即主也是从。当其中的任何一台服务器收到操作请求时,其进行相应的数据变化,并把变化的数据复制到另一台服务器中。 2.配置服务器master 初始服务器 通过mysql工具连接服务器master后,新建两个数据库audit,idm。导入初始化数据库文件,完成数据库的初始化 给用户授权 从开始菜单中打开mysql5的命令行,输入正确的密码,进入mysql控制台命令行模式后,输入如下命令: #授权来自192.168.0.189的backup用户拥有对所有库的复制数据的权限,该用户的密码设为123456 GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.0.189' IDENTIFIED BY '123456'; #刷新权限设置 FLUSH PRIVILEGES ; 修改配置文件 修改主目录中的my.inf文件,在mysqld下面加入如下内容 server-id = 1 log-bin=mysql-bin binlog-do-db = audit binlog-do-db = idm binlog-ignore-db = information_schema binlog-ignore-db = mysql binlog-ignore-db = test master-host = 192.168.0.189 master-user = backup master-password = 123456 master-port = 3306

replicate-do-db = audit replicate-do-db = idm master-connect-retry = 60 3.配置服务器slave 初始服务器 通过mysql工具连接服务器ha002后,新建两个数据库audit,idm。导入初始化数据库文件,完成数据库的初始化 给用户授权 从开始菜单中打开mysql5的命令行,输入正确的密码,进入mysql控制台命令行模式后,输入如下命令: #授权来自192.168.0.188的backup用户拥有对所有库的复制数据的权限,该用户的密码设为123456 GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.0.188' IDENTIFIED BY '123456'; #刷新权限设置 FLUSH PRIVILEGES ; 修改配置文件 修改主目录中的my.inf文件,在mysqld下面加入如下内容 server-id = 2 master-host = 192.168.0.188 master-user = backup master-password = 123456 master-port = 3306 relicate-do-db = audit replicate-do-db = idm master-connect-retry = 60 log-bin=mysql-bin binlog-do-db = audit binlog-do-db = idm binlog-ignore-db = information_schema

MySQL5.6.14下载、安装及配置安装图文教程

说明 5.6.14是一个稳定的发布版本,比较稳定的,安装包比5.5大很多,因为集成了32位和64位的,网上有人做过测试,性能比5,5强很多,于是果断选5.6,下面开始安装. 下载及安装MySQL 自MySQL版本升级到5.6以后,其安装及配置过程和原来版本发生了很大的变化,下面详细介绍5.6版本MySQL的下载、安装及配置过程。 s 图1.1 MySQL5.6 目前针对不同用户,MySQL提供了2个不同的版本: MySQL Community Server:社区版,该版本完全免费,但是官方不提供技术支持。 MySQL Enterprise Server:企业版,它能够高性价比的为企业提供数据仓库应用,支持ACID事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话及文档等技术支持。 目前最新的MySQL版本为MySQL 5.6,可以在官方网站(https://www.360docs.net/doc/6b3060638.html,/downloads/)上面下载该软件。在下图1.2所示的MySQL官网上单击右下角的“MySQL Installer 5.6”超链接,然后按照提示一步步操作就可以将MySQL软件下载到本地计算机中了。注意这里我们选择的是数据库版本是“Windows (x86, 32-bit), MSI Installer”,如下图1.3所示。 图1.2 MySQL官方网站 图1.3 选择MySQL版本 MySQL下载完成后,找到下载到本地的文件,按照下面所示的步骤双击进行安装: 步骤1:双击MySQL安装程序(mysql-installer-community-5.6.10.1),会弹出如下图1.4所示的欢迎窗口。

MySQL主从、主主复制及高可用性要点

一:MySQL复制: MySQL复制简介: 将master服务器中主数据库的ddl和dml操作通过二进制日志传到slaves服务器上,然后在master服务器上将这些日志文件重新执行,从而使得slave服务器和master服务器上的数据信息保持同步。 Mysql复制的原理: 将数据分布到多个系统上去,是通过将Mysql的某一台master主机的数据复制到其它(slave)主机上,并重新执行一遍来实现的; 复制过程中一个服务器充当master服务器,而一台或多台其它服务器充当slave服务器。master服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。 这些日志可以记录发送到slave服务器的更新。当一个slaves服务器连接master服务器时,它通知master服务器从服务器在日志中读取的最后一次成功更新的位置。slave服务器接收从那时起发生的任何更新,然后封锁并等待master服务器通知新的更新。 mysql复制的优点: 在slave服务器上执行查询操作,降低master服务器的访问压力 当master服务器上出现了问题可以切换到slave服务器上,不会造成访问中断等问题 在slave服务器上进行备份,以避免备份期间影响master服务器的服务使用及日常访问

Mysql自身的复制功能:是构建大型、高性能应用程序的基础。 mysql支持的复制类型: 基于语句的复制:在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。一旦发现没法精确复制时,会自动选着基于行的复制。 基于行的复制:把改变的内容复制过去,而不是把命令在从服务器上执行一遍. 从mysql5.0开始支持 混合类型的复制::默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。 MySQL复制技术的特点: 数据分布(Data distribution ) 备份(Backups) 负载平衡(load balancing) 高可用性和容错性High availability and failover 复制的工作过程: master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events); slave将master的binary log events拷贝到它的中继日志(relay log); slave重做中继日志中的事件,将改变反映它自己的数据。

MYSQL四种备份方法总结

MYSQL四种备份方法总结 Mysql数据库备份主要有4种方法: 1、mysqldump 2、直接拷贝(cp、tar,gzip,cpio) 3、mysqlhotcopy 4、同步复制 mysqldump生成能够移植到其它机器的文本文件,缺省地,文件内容包含创建正在倾倒的表的CREATE语句和包含表中行数据的INSERT语句。也就是说,mysqldump产生的输出可在以后用作mysql的输入来重建数据库。mysqldump比直接拷贝要慢些。 使用直接拷贝,如果正在备份的表正被读写就容易导致表损坏,而且不建议对isam表使用直接拷贝的方法来备份,因为ISAM表只能在相似的硬件结构的机器上拷贝。 1、mysqldump备份: 使用方法:mysqldump [OPTIONS] database [tables] 输出文件的开头看起来象这样: # MySQL Dump 6.0 # # Host: localhost Database: samp_db #--------------------------------------- # Server version 3.23.2-alpha-log # # Table structure for table 'absence' # CREATE TABLE absence( student_id int(10) unsigned DEFAULT '0' NOT NULL, date date DEFAULT '0000-00-00' NOT NULL, PRIMARY KEY (student_id,date) ); # # Dumping data for table 'absence' # INSERT INTO absence VALUES (3,'1999-09-03'); INSERT INTO absence VALUES (5,'1999-09-03'); INSERT INTO absence VALUES (10,'1999-09-08'); ...... 文件剩下的部分有更多的INSERT和CREATE TABLE语句组成。例: %mysqldump samp_db >/opt/mysqldatabak/samp_db.2006-5-15 %mysqldump samp_db | gzip >/usr/archives/mysql/samp_db.1999-10-02.gz #产生压缩备份 %mysqldump samp_db student score event absence >grapbook.sql #备份数据库的某些表 %mysqladmin -h https://www.360docs.net/doc/6b3060638.html, create samp_db %mysqldump samp_db | mysql -h https://www.360docs.net/doc/6b3060638.html, samp_db #直接恢复到另一个服务器上使用--add-drop-table选项告诉服务器将DROP TABLE IF EXISTS语句写入备份文件,这样当我们以后用来恢复数据库时,如果表已经存在,你

mysql主从

一、概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步、主从模式、互相备份模式的功能。本文档主要阐述了如何在linux系统中利用mysql的replication进行双机热备的配置。 二、环境 操作系统:Linux 2.6.23.1-42.fc8 # SMP(不安装XEN) Mysql版本:5.0.45-4.fc8 设备环境:PC(或者虚拟机)两台 三、配置 数据库同步复制功能的设置都在MySQL的配置文件中体现,MySQL的配置文件(一般是https://www.360docs.net/doc/6b3060638.html,f):在本环境下为/etc/https://www.360docs.net/doc/6b3060638.html,f 。 3.1 设置环境: IP 的设置: A主机 IP:10.10.0.119 Mask:255.255.0.0 B主机 IP:10.10.8.112 Mask:255.255.0.0 在IP设置完成以后,需要确定两主机的防火墙确实已经关闭。可以使用命令service iptables status 查看防火墙状态。如果防火墙状态为仍在运行。使用service iptables stop 来停用防火墙。如果想启动关闭防火墙,可以使用setup 命令来禁用或定制。 最终以两台主机可以相互ping通为佳。 3.2 配置A主(master) B从(slave)模式 3.2.1 配置A 为master 1、增加一个用户同步使用的帐号: GRANT FILE ON *.* TO ‘backup’@'10.10.8.112' IDENTIFIED BY ‘1234’; GRANT REPLICATION SLAVE ON *.* TO ‘backup’@'10.10.8.112' IDENTIFIED BY ‘1234’; 赋予10.10.8.112也就是Slave 机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。 2、增加一个数据库作为同步数据库: create database test; 3、创建一个表结构: create table mytest (username varchar(20),password varchar(20)); 4、修改配置文件: 修改A的/etc/https://www.360docs.net/doc/6b3060638.html,f 文件,在https://www.360docs.net/doc/6b3060638.html,f 配置项中加入下面配置:server-id = 1 #Server 标识 log-bin

MySQL最全整理(面试题+笔记+导图),面试大厂不再被MySql难倒!

前言 作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上,MySQL并不难,今天这份最全的MySQL总结,助你向大厂“开炮”,面试不再被MySQL难倒。 注意:关于MySQL的内容整理,包括了面试题、学习笔记、使用文档以及Xmind思维图几个部分,需要高清完整版的请转发+关注,然后私信回复“666”获得免费领取方式 01、MySQL 面试题集合总结 1.1 MySQL 面试题(基础部分): ?drop、truncate、delete区别 ?数据库三范式是什么? ?union和union all有什么不同? ?char、varchar2、varchar有什么区别? ?合并查询有哪些? ?SQL语句执行顺序 ?null的含义 ?MySQL、SqlServer、oracle写出字符存储、字符串转时间 ?update语句可以修改结果集中的数据吗? ?B树和B+树的区别 ?你建过索引吗? 建索引的原则 ?索引的类型, 如主键索引 ?查看SQL执行计划

?有十万条数据, 写SQL语句查询其中某字段较大值的几条数据 ?子查询与关联查询的区别 ?MySQL InnoDB、Mysaim的特点? ?乐观锁和悲观锁的区别?? ?行锁和表锁的区别? ?数据库隔离级别是什么?有什么作用? ?MySQL主备同步的基本原理。 ?如何优化数据库性能(索引、分库分表、批量操作、分页算法、升级硬盘SSD、业务优化、主从部署) ?SQL什么情况下不会使用索引(不包含,不等于,函数) ?一般在什么字段上建索引(过滤数据最多的字段) ?MySQL,B+索引实现,行锁实现,SQL优化 ?如何解决高并发减库存问题 ?数据库事务的几种粒度 1.2 MySQL 面试题(实战部分): ?数据库三范式,根据秒杀场景设计数据表 ?数据库的主从复制 ?死锁怎么解决 ?mysql并发情况下怎么解决(通过事务、隔离级别、锁) ?触发器的作用? ?什么是存储过程?用什么来调用? ?存储过程的优缺点?

mysql数据库同步跳过临时错误

mysql数据库同步跳过临时错误 slave stop; set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; slave start; 几个跟热备有关的mysql命令:(需要在mysql命令行界面或query ) stop slave #停止同步 start slave #开始同步,从日志终止的位置开始更新。 show slave status #查看同步状态 SET SQL_LOG_BIN=0|1 #主机端运行,需要super权限,用来开停日志,随意开停,会造成主机从机数据不一致,造成错误 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n # 客户端运行,用来跳过几个事件,只有当同步进程出现错误而停止的时候才可以执行。 RESET MASTER #主机端运行,清除所有的日志,这条命令就是原来的FLUSH MASTER RESET SLAVE #从机运行,清除日志同步位置标志,并重新生成https://www.360docs.net/doc/6b3060638.html, 虽然重新生成了https://www.360docs.net/doc/6b3060638.html,,但是并不起用,最好,将从机的mysql进程重启一下,LOAD TABLE tblname FROM MASTER #从机运行,从主机端重读指定的表的数据,每次只能读取一个,受timeout时间限制,需要调整timeout时间。执行这个命令需要同步账号有 reload 和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和 net_write_timeout的值 LOAD DATA FROM MASTER #从机执行,从主机端重新读入所有的数据。执行这个命令需要同步账号有reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和 net_write_timeout的值 CHANGE MASTER TO master_def_list #在线改变一些主机设置,多个用逗号间隔,比如CHANGE MASTER TO MASTER_HOST='https://www.360docs.net/doc/6b3060638.html,', MASTER_USER='replication', MASTER_PASSWORD='bigs3cret' MASTER_POS_WAIT() #从机运行 SHOW MASTER STATUS #主机运行,看日志导出信息 SHOW SLAVE HOSTS #主机运行,看连入的从机的情况。 SHOW SLAVE STATUS (slave) SHOW MASTER LOGS (master) SHOW BINLOG EVENTS [ IN 'logname' ] [ FROM pos ] [ LIMIT [offset,] rows ] PURGE [MASTER] LOGS TO 'logname' ; PURGE [MASTER] LOGS BEFORE 'date'

虚拟机CentOS下MySQL的安装与配置

CentOS下MySQL的安装与配置 一、mysql是关系型数据库,可以去官网下载rpm包安装,但是也可以直接用yum 二、卸载原有的mysql 输入命令:# rpm –qa | grep mysql //查看是否安装了mysql。 使用# rpm –e mysql //普通删除模式。 # rpm –e –nodeps mysql //强力删除模式,若上个命令删除时有提示依赖项,次命 令可以强力删除。 三、通过yum安装mysql # yum list | grep mysql //查看yum提供的mysql可以下载的版本 然后# yum install –y mysql-server mysql mysql-deve // 安装mysql、mysql-server、mysql-deve即客户端和服务器

安装完毕! 四、mysql的初始化 安装完mysql后,就会多处一个mysqld的服务,此就是数据库服务,可以输入# service mysqld start 命令启动mysqld服务。第一次启动会有很多提示信息,那是在进行初始化配置,下一次启动就不会有了,就像: 我们在使用mysql数据库的时候,都要先启动mysqld,我们可以将mysqld服务设置成开机启动,免得每次我们都要去启动一下。通过# chkconfig mysqld on 设置 Mysql安装完后只有一个root管理员账户,没有密码,我们可以为root帐号设置密码(这个为mysql的root账户,不是linux的root账户)# mysqladmin –u root password ‘new pw’然后通过mysql –u root –p 命令登陆我们的mysql 五、mysql的主要配置文件 1、/etc/https://www.360docs.net/doc/6b3060638.html,f这是mysql的主配置文件 我们可以查看一下一些信息

mysql主从复制原理

主从复制的原理: 分为同步复制和异步复制,实际复制架构中大部分为异步复制。 复制的基本过程如下: 1)、Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容; 2)、Master接收到来自Slave的IO进程的请求后,通过负责复制的IO进程根据请求信息读取制定日志指定位置之后的日志信息,返回给Slave 的IO进程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到Master端的bin-log文件的名称以及bin-log的位置; 3)、Slave的IO进程接收到信息后,将接收到的日志内容依次添加到Slave端的relay-log文件的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉Master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我”; 4)、Slave的Sql进程检测到relay-log中新增加了内容后,会马上解析relay-log的内容成为在Master端真实执行时候的那些可执行的内容,并在自身执行。 Mysql为了解决这个风险并提高复制的性能,将Slave端的复制改为两个进程来完成。提出这个改进方案的人是Y ahoo!的一位工程师“Jeremy Zawodny”。这样既解决了性能问题,又缩短了异步的延时时间,同时也减少了可能存在的数据丢失量。当然,即使是换成了现在这样两个线程处理以后,同样也还是存在slave 数据延时以及数据丢失的可能性的,毕竟这个复制是异步的。只要数据的更改不是在一个事物中,这些问题都是会存在的。如果要完全避免这些问题,就只能用mysql的cluster来解决了。不过mysql的cluster是内存数据库的解决方案,需要将所有数据都load到内存中,这样就对内存的要求就非常大了,对于一般的应用来说可实施性不是太大。 复制常用架构 Mysql复制环境90%以上都是一个Master带一个或者多个Slave的架构模式,主要用于读压力比较大的应用的数据库端廉价扩展解决方案。因为只要master和slave的压力不是太大(尤其是slave端压力)的话,异步复制的延时一般都很少很少。尤其是自slave端的复制方式改成两个进程处理之后,更是减小了slave端的延时。而带来的效益是,对于数据实时性要求不是特别的敏感度的应用,只需要通过廉价的pc server来扩展slave的数量,将读压力分散到多台slave的机器上面,即可解决数据库端的读压力瓶颈。这在很大程度上解决了目前很多中小型网站的数据库压力瓶颈问题,甚至有些大型网站也在使用类似方案解决数据库瓶颈。 Mysql主从复制配置过程: 环境:master: 192.168.0.3 Slave: 192.168.0.4 Mysql版本为5.0.67(编译安装) database: eric 1.Master服务器启动mysql, a)#mysql –uroot –proot b)创建一个有复制权限的用户,只限slave远程连接访问. i. mysql>grant replication slave on *.* to replication@192.168.0.4

Mysql数据库安装及生产环境下主从库同步配置

Mysql数据库安装及生产环境下主从库同步配置

目录 1安装M YSQL数据库...................................................................................................................................... 2生产环境下M Y SQL数据库主从同步配置................................................................................................. 2.1 主数据库配置 (5) 2.2 从数据库配置 (5) 3监控服务器............................................................................................................................................... 3.1 监控主数据库服务器 (6) 3.2 监控从数据库服务器 (6)

1安装Mysql数据库 安装环境: 系统:CentOS-6.6-x86_64 数据库:MySQL-server-5.5.42-1.el6.x86_64;MySQL-client-5.5.42-1.el6.x86_64 1.SSH方式登录到MySQL服务器 2.创建存放安装文件的目录 [root@localhost /]# mkdir -p /sw/mysql55 3.上传安装文件到上一步创建的目录 4.检查是否已安装过MySQL [root@localhost /]# rpm -qa | grep -i mysql MySQL-client-5.5.42-1.el6.x86_64 MySQL-server-5.5.42-1.el6.x86_64 5.如果已安装则移除,否则请跳过此步 [root@localhost /]# yum -y remove MySQL-server-5.5.42-1.el6.x86_64 [root@localhost /]# yum -y remove MySQL-client-5.5.42-1.el6.x86_64 删除老版本mysql的开发头文件和库 rm -fr /usr/lib/mysql rm -fr /usr/include/mysql rm -fr /var/lib/mysql rm -f /etc/https://www.360docs.net/doc/6b3060638.html,f 6.安装MySQL [root@localhost /]# cd /sw/mysql55/ [root@localhost mysql55]# rpm -ivh MySQL-server-5.5.42-1.el6.x86_64.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%] [root@localhost mysql55]# rpm -ivh MySQL-client-5.5.42-1.el6.x86_64.rpm Preparing... ########################################### [100%] 1:MySQL-server ########################################### [100%] 7.配置MySQL [root@localhost mysql55]# cp /usr/share/mysql/https://www.360docs.net/doc/6b3060638.html,f /etc/https://www.360docs.net/doc/6b3060638.html,f [root@localhost mysql55]# vi /etc/https://www.360docs.net/doc/6b3060638.html,f [client] #password = your_password port = 8819 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 [mysqld] port = 8819 socket = /var/lib/mysql/mysql.sock lower_case_table_names=1

安装和配置MySQL服务器

安装和配置MySQL数据库服务器模块 Lab1:源码安装MySQL服务器 实验要求: 1)通过源码安装MySQL服务器,要求安装到/usr/local/mysql目录,配置文件目录为/etc。 2)设置开机时自动运行MySQL服务器。 3)关闭rpm软件安装MySQL服务器(如果存在)。 实验时间:60分钟 实验步骤: 1、进入/root/lamp_software目录,找到mysql-6.0.4-alpha.tar.gz,并解压源码文件。如下所示。 [root@localhost lamp_software]#tar-zxf mysql-6.0.4-alpha.tar.gz-C/usr/local [root@localhost lamp_software]#cd/usr/local/ [root@localhost local]#ls bin games lib mysql-6.0.4-alpha sbin src etc include libexec RealPlayer share 2、配置mysql源码安装文件,设置MySQL安装到/usr/local/mysql目录,配置文件目录为/etc/目录。 [root@localhost local]#cd mysql-6.0.4-alpha [root@localhost mysql-6.0.4-alpha]#./configure--prefix=/usr/local/mysql--sysconfdir=/etc/ 3、编译mysql源码 [root@localhost mysql-6.0.4-alpha]#make 显示以下信息,表示编译成功。 /bin/chmod+x bench-count-distinct-t /bin/mv bench-count-distinct-t bench-count-distinct make[1]:Leaving directory`/usr/local/mysql-6.0.4-alpha/sql-bench' Making all in win make[1]:Entering directory`/usr/local/mysql-6.0.4-alpha/win' make[1]:Nothing to be done for`all'. make[1]:Leaving directory`/usr/local/mysql-6.0.4-alpha/win' 4、安装mysql服务器 [root@localhost mysql-6.0.4-alpha]#make install 显示以下信息,表示编译成功。 make[2]:Leaving directory`/usr/local/mysql-6.0.4-alpha/sql-bench' make[1]:Leaving directory`/usr/local/mysql-6.0.4-alpha/sql-bench' Making install in win make[1]:Entering directory`/usr/local/mysql-6.0.4-alpha/win' make[2]:Entering directory`/usr/local/mysql-6.0.4-alpha/win'

mysql数据库主主同步方案

Mysql 数据库主主(master-master)同步方案 一、MySQL同步概述 1.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费多久,不容乐观的未来,但是我们还是要能熟练掌握MySQL数据的架构和安全备份等功能,毕竟现在它还算是开源界的老大吧! MySQL数据库支持同步复制、单向、异步复制,在复制的过程中一个服务器充当主服务,而一个或多个服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。 请注意当你进行复制时,所有对复制中的表的更新必须在主服务器上进行。否则,你必须要小心,以避免用户对主服务器上的表进行的更新与对从服务器上的表所进行的更新之间的冲突。 单向复制有利于健壮性、速度和系统管理: 健壮性:主服务器/从服务器设置增加了健壮性。主服务器出现问题时,你可以切换到从服务器作为备份。

速度快:通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间。SELECT查询可以发送到从服务器以降低主服务器的查询处理负荷。但修改数据的语句仍然应发送到主服务器,以便主服务器和从服务器保持同步。如果非更新查询为主,该负载均衡策略很有效,但一般是更新查询。 系统管理:使用复制的另一个好处是可以使用一个从服务器执行备份,而不会干扰主服务器。在备份过程中主服务器可以继续处理更新。 2.MySQL数据复制的原理 MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。 每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新,以便从服务器可以对其数据拷贝执行相同的更新。 认识到二进制日志只是一个从启用二进制日志的固定时间点开始的记录非常重要。任何设置的从服务器需要主服务器上的在主服务器上启用二进制日志时的数据库拷贝。如果启动从服务器时,其数据库与主服务器上的启动二进制日志时的状态不相同,从服务器很可能失败。 将主服务器的数据拷贝到从服务器的一个途径是使用LOAD DATA FROM MASTER语句。请注意LOAD DATA FROM MASTER目前只在

MySQL5.6版本安装及配置过程

编辑者:Vocabulary 下面详细介绍5.6版本MySQL的下载、安装及配置过程。 图1.1 MySQL5.6 目前针对不同用户,MySQL提供了2个不同的版本: MySQL Community Server:社区版,该版本完全免费,但是官方不提供技术支持。 MySQL Enterprise Server:企业版,它能够高性价比的为企业提供数据仓库应用,支持ACID事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话及文档等技术支持。 目前最新的MySQL版本为MySQL 5.6,可以在官方网站https://www.360docs.net/doc/6b3060638.html,/downloads/下载该软件。下图1.2所示的MySQL官网上单击图片上的“Download”超链接或点击左边标记处,然后按照提示一步步操作就可以将MySQL软件下载到本地计算机中了。注意这里我们选择的是数据库版本是“Windows (x86, 32-bit), MSI Installer”,如下图1.3所示。 图1.2 MySQL官方网站

图1.3 选择MySQL版本 当点击download后会弹出如下页面: 注:下载MySql要求注册:<用户可注册或不注册>,如果不想注册就点击左下角标记处—点击后就弹出如图中下载提示->点击保存文件开始下载。 MySQL下载完成后,找到下载到本地的文件,按照下面所示的步骤双击进行安装:步骤1:双击MySQL安装程序(mysql-installer-community-5.6.10.1)会弹出如下图1.4所示: 图1.4 MySQL欢迎界面

步骤2:单击图1.4中的“Install MySQL Products”文字,会弹出的用户许可证协议窗口,如下图1.5所示: 图1.5 用户许可证协议窗口 步骤3:选中“I accept the license terms”的前面的选择框,然后点击【Next】按钮,会进入查找最新版本界面,效果如下图1.6所示: 图1.6 查找最新版本窗口 步骤4:单击【Execute】按钮,会进入安装类型设置界面,效果如下图1.7所示。 图1.7 安装类型设置窗口

MySQL主从同步原理+部署

MySQL主从同步原理+部署 一.主从的作用: 1.可以当做一种备份方式 2.用来实现读写分离,缓解一个数据库的压力 二.MySQL主从备份原理 master 上提供binlog , slave 通过 I/O线程从 master拿取 binlog,并复制到slave的中继日志中 slave 通过 SQL线程从 slave的中继日志中读取binlog ,然后解析到slave中 部署主从环境:主服务器:192.168.1.110(编译好的MySQL5.1版本的数据库)从服务器:192.168.1.120(编译好的MySQL5.1版本的数据库) (温馨提示:主和从数据库版本必须是一样。或者主库的数据库版本必须比从库高,不然会导致很多故障的发生。) 三:生产环境应用MySQL主从同步场景: 1.一般用主库做为提供业务用户写操作(比如:在互联网上写一条微博,这时候就会 写到mysql数据库的主库中) 2.一般用从库做为提供业务用户读操作(比如:在互联网上,我想看一条微博,这时 候里面提供数据就是MySQL数据库的从库中。) (1)在主服务器(192.168.1.110)上操作。 [root@Jiechao ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:5E:6F:A7 inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe5e:6fa7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:141354 errors:0 dropped:0 overruns:0 frame:0 TX packets:140807 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:142083379 (135.5 MiB) TX bytes:17815696 (16.9 MiB) Interrupt:193 Base address:0x2000 [root@Jiechao ~]# vi /etc/https://www.360docs.net/doc/6b3060638.html,f [mysqld]在mysqld下添加以上两行。 server-id = 1 log-bin=jiechao-bin [root@Jiechao ~]# /etc/init.d/mysqld restart Shutting down MySQL[ OK ] Starting MySQL.[ OK ]

MySQL详细安装图解

MySQL详细安装图解 我们以mysql-5.0.27-win32.exe为例,双击解压缩,运行“setup.exe”,出现如下界面 MySQL安装向导启动,按“Next”继续 选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程

在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(MySQL服务器)”、“Client Programs(MySQL客户端程序)”、“Documentation(文档)”也如此操作,以保证安装所有文件。点选“Change...”,手动指定安装目录。 填上安装目录,我的是“F:\Server\MySQL\MySQL Server 5.0”,也建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。按“OK”继续。

Back返回刚才的界面,按“Next”继续 确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。

正在安装中,请稍候,直到出现下面的界面 这里“Create a new free https://www.360docs.net/doc/6b3060638.html, account”是询问你是否要注册一个https://www.360docs.net/doc/6b3060638.html,的账号,或是“Login to https://www.360docs.net/doc/6b3060638.html,”使用已有的账号登陆https://www.360docs.net/doc/6b3060638.html,,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。

相关文档
最新文档