型:Typical(典型安装)、Complete(完全安装)和Custom(定制安装)。Typical(典型安装)安装只安装MySQL服务器、
mysql命令行客户端和命令行实用程序。命令行客户端和实用程序包括mysqldump、myisamchk和其它几个工具来帮助你管理MySQL服务
器。Complete(完全安装)安装将包内包含的所有组件。完全包包括的组件包括嵌入式服务器库、基准套件、支持脚本和文档。
Custom(定制安装)安装允许你完全控制你想要安装的软件包和安装路径。 在此选择的是“Custom”
所有可用组件列入定制安装对话框左侧的树状视图内。未安装的组件用红色 X 图标表示;已经安装的组件有灰色图标。要想更改组件,点击该组件的图标并从下拉列表中选择新的选项。可以点击安装路径右侧的Change...按钮来更改默认安装路径。
选
择配置类型可以选择两种配置类型:Detailed Configuration(详细配置)和Standard Configuration(标准配
置)。Standard Configuration(标准配置)选项适合想要快速启动MySQL而不必考虑服务器配置的新用户。详细配置选项适合想要更
加细粒度控制服务器配置的高级用户。如果系统上已经安装了MySQL和你想要配置的安装,建议选择详细配置。
在此选择的是Detailed Configuration
选
择服务器类型可以选择3种服务器类型,选择哪种服务器将影响到MySQL Configuration Wizard(配置向导)对内存、硬盘和过程或使
用的决策。·Developer Machine(开发机器):该选项代表典型个人用桌面工作站。假定机器上运行着多个桌面应用程序。将MySQL服务器
配置成使用最少的系统资源。 ·Server Machine(服务器):该选项代表服务器,MySQL服务器可以同其它应用程序一起运行,例如FTP、
email和web服务器。MySQL服务器配置成使用适当比例的系统资源。 ·Dedicated MySQL Server Machine(专用
MySQL服务器):该选项代表只运行MySQL服务的服务器。假定运行没有运行其它应用程序。MySQL服务器配置成使用所有可用系统资源。在此选择的
是Developer Machine
选
择储存引擎你可以指出创建MySQL表时使用的表处理器。通过该选项,你可以选择是否使用InnoDB储存引擎,以及InnoDB占用多大比例的服务器资
源。 ·Multifunctional Database(多功能数据库):选择该选项,则同时使用InnoDB和MyISAM储存引擎,并在两个引擎
之间平均分配资源。建议经常使用两个储存引擎的用户选择该选项。 ·Transactional Database Only(只是事务处理数据库):该
选项同时使用InnoDB和MyISAM 储存引擎,但是将大多数服务器资源指派给InnoDB储存引擎。建议主要使用InnoDB只偶尔使用
MyISAM的用户选择该选项。·Non-Transactional Database Only(只是非事务处理数据库):该选项完全禁用
InnoDB储存引擎,将所有服务器资源指派给MyISAM储存引擎。建议不使用InnoDB的用户选择该选项。在此选择的是
Multifunctional Database
因为我把安装路径改了,我的图显示的是D: Installation Path
设
置并发连接数设置,限制所创建的与MySQL服务器之间的并行连接数量很重要,以便防止服务器耗尽资源。·Decision Support(决策支持)
(DSS)/OLAP:如果服务器不需要大量的并行连接可以选择该选项。假定平均并行连接数为
20。·Online Transaction Processing(联机事务处理)(OLTP):如果你的服务器需要大量的并行连接则选择该选项。最
大连接数设置为500。 ·Manual Setting(人工设置):选择该选项可以手动设置服务器并行连接的最大数目。从前面的下拉框中选择并行连接
的数目,如果你期望的数目不在列表中,则在下拉框中输入最大连接数。
联
网选项在Networking Options(网络选项)对话框中可以启用或禁用TCP/IP网络,并配置用来连接MySQL服务器的端口号。默认情况
启用TCP/IP网络。要想禁用 TCP/IP网络,取消选择Enable TCP/IP Networking选项旁边的检查框。默认使用3306端
口。要想更访问MySQL使用的端口,从下拉框选择一个新端口号或直接向下拉框输入新的端口号。如果你选择的端口号已经被占用,将提示确认选择的端口
号。 我的设置如图
选择字符集,选择UTF8可以将不同语言的字符储存为单一的字符集
设
置服务在基于Windows NT的平台上,可以将MySQL服务器安装成服务。安装成服务,系统启动时可以自动启动MySQL服务器,甚至出现服务故障
时可以随Windows自动启动。默认情况,MySQL Configuration Wizard(配置向导)将MySQL服务器安装为服务,服务名为
MySQL。如果你不想安装服务,取消Install As Windows Service选项旁边的选择框。可以从下拉框选择新的服务名或在下拉框输
入新的服务名来更改服务名。要想将MySQL服务器安装为服务,但是不自动启动,不选中
Launch the MySQL Server Automatically选项旁边的检查框。我设置的时候也勾选了
Include Bin Directory in Windows PATH
安
全选项强烈建议为你的MySQL服务器设置一个root密码,默认情况MySQL Configuration Wizard(配置向导)要求你设置一个
root密码。如果你不想设置root密码,不选中Modify Security Settings(修改安全设定值)选项旁边的选择框。要想设置
root密码,在New root password(输入新密码)和Confirm(确认)两个框内输入期望的密码。如果重新配置已有的服务器,你还需
要Current root password(当前root密码)框内输入已有的root密码。要想防止通过网络登录,不选中
Enable root access from remote machines(不允许远程连接)选项旁边的框。这样可以提高安全。要想创建一个匿名
用户账户,选中Create An Anonymous Account(创建匿名账户)选项旁边的框。创建匿名账户会降低服务器的安全,并造成登录和许
可困难。因此不建议。 我的设置如图
然后d出的页面,单击Install 按钮。 经过2分钟左右的时间,出现下图
至此,Mysql5.5安装完毕!
import_table(importTable) 的延申功能:可定制化行输入。
import_table(importTable) 我们之前有介绍过,是一款并行导入各种格式文本的工具,封装了 MySQL 语句 load data local infile。
比如说要导入一个以 TAB 为分隔符的文本数据文件:/tmp/sample_ytt.txt 到表:ytt_new.t1,可以执行下面语句:
上面结果是 load data infile 语句的导入结果。如果改用 import_table 方法来做同样的事情,基于 Python 语法,使用方法如下:
那接下来看另外一个需求:在导入文本文件时对每行做预处理(例如在导入数据之前更改列 r2 的值为 mod(r1,10),列 r5 的值为 abs(r4-46) ),这样可以减少导入后再次处理的时间开销。
这个需求用 load data infile 语句非常容易实现:(导入时更改列 r2 和 r5 的数据,类似 UPDATE 语法)
那如果要用 util.import_table(importTable) 来实现上面的需求,在 MySQL 8.0.22 之前是没办法的。
随着 MySQL 8.0.22 的发布,MySQL 对 import_table 方法做了些扩充功能,其中增加了一个选项 “decodeColumns” 可以实现字段的预先输入定制化功能,并且还可以更加丰富。
接下来用 import_table 来实现上面的需求,定制化字段 r2 和 r5:
以上 Options 选项,见下图:
我来具体解释下上图的含义:蓝色字体 columns 对应的数组分别指定数据文件中的每行字段,也就是默认的 TAB 分隔符所分割的每列值,1 和 2 代表占位符,1 代表数据文件中每行的第一个列,2 代表数据文件中每行的第四列,decodeColumns 字典分别对需要预先输入的字段做处理。比如 r1 字段保留为变量 @1,r2 字段对应 mod(r1,10) 等。
如果还是不太理解变换规则,可以临时打开 general log, 上面 import_table(importTable)对应的 MySQL 日志为:
以上日志写的很清楚,内部转换为最基本的load data infile语法。
那这里我简单解读了下 MySQL 8.0.22 对 MySQL Shell 的一项定制化输入文本文件的新特性,更多的新特性可以继续关注。
一、概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步、主从模式、互相备份模式的功能。本文档主要阐述了如何在linux系统中利用mysql的replication进行双机热备的配置。二、环境 *** 作系统:Linux2.6.23.1-42.fc8#SMP(不安装XEN)Mysql版本:5.0.45-4.fc8设备环境:PC(或者虚拟机)两台三、配置数据库同步复制功能的设置都在MySQL的配置文件中体现,MySQL的配置文件(一般是my.cnf):在本环境下为/etc/my.cnf。3.1设置环境:IP的设置:A主机IP:10.10.0.119Mask:255.255.0.0B主机IP:10.10.8.112Mask:255.255.0.0在IP设置完成以后,需要确定两主机的防火墙确实已经关闭。可以使用命令serviceiptablesstatus查看防火墙状态。如果防火墙状态为仍在运行。使用serviceiptablesstop来停用防火墙。如果想启动关闭防火墙,可以使用setup命令来禁用或定制。最终以两台主机可以相互ping通为佳。3.2配置A主(master)B从(slave)模式3.2.1配置A为master 、增加一个用户同步使用的帐号:GRANTFILEON*.*TO‘backup’@'10.10.8.112'IDENTIFIEDBY‘1234’GRANTREPLICATIONSLAVEON*.*TO‘backup’@'10.10.8.112'IDENTIFIEDBY‘1234’赋予10.10.8.112也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATIONSLAVE的权限才可以。、增加一个数据库作为同步数据库:createdatabasetest、创建一个表结构:createtablemytest(usernamevarchar(20),passwordvarchar(20))、修改配置文件:修改A的/etc/my.cnf文件,在my.cnf配置项中加入下面配置:server-id=1#Server标识log-binbinlog-do-db=test#指定需要日志的数据库、重起数据库服务:servicemysqldrestart查看server-id:showvariablelike‘server_id’;实例:mysql>showvariableslike'server_id'+---------------+-------+|Variable_name|Value|+---------------+-------+|server_id|1|+---------------+-------+1rowinset(0.00sec)、用showmasterstatus/G命令看日志情况。正常为:mysql>showmasterstatus/G***************************1.row***************************File:mysqld-bin.000002Position:198Binlog_Do_DB:test,testBinlog_Ignore_DB:1rowinset(0.08sec)3.2.2配置B为slave、增加一个数据库作为同步数据库:createdatabasetest、创建一个表结构:createtablemytest(usernamevarchar(20),passwordvarchar(20))、修改配置文件:修改B的/etc/my.cnf文件,在my.cnf配置项中加入下面配置:server-id=2master-host=10.10.0.119master-user=backup#同步用户帐号master-password=1234master-port=3306master-connect-retry=60#预设重试间隔秒replicate-do-db=test#告诉slave只做backup数据库的更新、重起数据库服务:servicemysqldrestart查看server-id:showvariableslike‘server_id’;实例:mysql>showvariableslike'server_id'+---------------+-------+|Variable_name|Value|+---------------+-------+|server_id|2|+---------------+-------+1rowinset(0.00sec)、用showslavestatus/G命令看日志情况。正常为:mysql>showslavestatus/G***************************1.row***************************Slave_IO_State:WaitingformastertosendeventMaster_Host:10.10.0.119Master_User:backupMaster_Port:3306Connect_Retry:60Master_Log_File:mysqld-bin.000001Read_Master_Log_Pos:98Relay_Log_File:mysqld-relay-bin.000003Relay_Log_Pos:236Relay_Master_Log_File:mysqld-bin.000001Slave_IO_Running:YesSlave_SQL_Running:YesReplicate_Do_DB:test,testReplicate_Ignore_DB:Replicate_Do_Table:Replicate_Ignore_Table:Replicate_Wild_Do_Table:Replicate_Wild_Ignore_Table:Last_Errno:0Last_Error:Skip_Counter:0Exec_Master_Log_Pos:98Relay_Log_Space:236Until_Condition:NoneUntil_Log_File:Until_Log_Pos:0Master_SSL_Allowed:NoMaster_SSL_CA_File:Master_SSL_CA_Path:Master_SSL_Cert:Master_SSL_Cipher:Master_SSL_Key:Seconds_Behind_Master:01rowinset(0.01sec)3.2.3验证配置分别使用insert,delete,update在A主机进行增删改查数据库;查看B主机的数据库是否与A主机一致;若一致,则配置成功。3.3双机互备模式如果在A主机加入slave设置,在B主机加入master设置,则可以做B->A的同步。、在A主机的配置文件中mysqld配置项加入以下设置:master-host=10.10.8.112master-user=backupmaster-password=1234replicate-do-db=testmaster-connect-retry=10、在B的配置文件中mysqld配置项加入以下设置:log-binbinlog-do-db=test注意:当有错误产生时,*.err日志文件同步的线程退出,当纠正错误后,要让同步机制进行工作,运行slavestart。重起A、B机器,则可以实现双向的热备份。四、常见问题及解决、Slave机器的权限问题,不但要给slave机器File权限,还要给它REPLICATIONSLAVE的权限。、在修改完Slave机器/etc/my.cnf之后,slave机器的mysql服务启动之前,记得要删除掉master.info、在showmasterstatus或着showslavestatus不正常时,看看.err是怎样说的。、Slave上Mysql的Replication工作有两个线程,I/Othread和SQLthread。I/O的作用是从master3306端口上把它的binlog取过来(master在被修改了任何内容之后,就会把修改了什么写到自己的binlog等待slave更新),然后写到本地的relay-log,而SQLthread则是去读本地的relay-log,再把它转换成本Mysql所能理解的语句,于是同步就这样一步一步的完成.决定I/Othread的是/var/lib/mysql/master.info,而决定SQLthread的是/var/lib/mysql/relay-log.info.、启动slave,命令用startslave;重新启动用restartslave欢迎分享,转载请注明来源:内存溢出
评论列表(0条)