手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:设计模式

svn 切换源

由于IT对整个公司的IP网段进行了更替,导致svn连接不上。
于是想到了用命令行切换源的IP。
在windows平台下是很方便的,直接用小乌龟relocate就OK了。可是mac下面没有,linux下面也没有这样的gui界面。所以就用命令行了
网上找到资料都是svn relocate,但运行了一下,发现没有这个命令,只有svn switch --relocate
嗯,于是发现命令就是这样的:
svn switch --relocate FROM TO 原来的svn地址 新的SVN地址

--------

郝老师说svn sw就可以了,没有试过,我先备一下

Tags: svn

JavaScript类型总览(图) --来自周爱民的博客

一张图,来自周爱民的博客。
原文地址是:http://blog.csdn.net/aimingoo/article/details/6676530
用周爱民的话来说,这张图是:来自于《JavaScript语言精髓与编程实践》第三章P184页。
第二版说是会改,那么,在没改之前可以参考一下:
大小: 98.67 K
尺寸: 500 x 375
浏览: 1475 次
点击打开新窗口浏览全图
文末还提到了一些补充一下图中用到的概念:

XML/HTML代码
  1. 1、内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集;而后者包括了一些在运行过程中动态创建的对象。  
  2.   
  3. 2、引擎扩展对象是一个并不太大的集合,一般来说比较确定,它们也属于引擎的原生对象(但不属于ECMA规范的原生对象)。  
  4.   
  5. 3、宿主对象不是引擎的原生对象,而是由宿主框架通过某种机制注册到JavaScript引擎中的对象。  
  6.   
  7. 4、一些宿主会把自己提供的对象/构造器也称为“原生对象”,例如Internet Explorer 7就把它提供的XMLHttpRequest()称为原生的——与此相对的是在它的更早先版本中通过“new ActiveXObject('Microsoft.XMLHTTP')”这样的方法创建的对象。这种情况下,读者应注意到“宿主的原生对象”与“引擎的原生对象”之间的差异。  

 

[笔记]Ubuntu下修改网卡和DNS

纯粹是记录吧。在使用 UBUNTU 的时候,如果是ubuntu desktop,那配置起来是相当简单的,就象windows那样配置就行了,但如果是ubuntu server,怎么配置呢?当然是用ifconfig了。
很简单的命令:
ifconfig eth0 192.168.1.2 broadcast 192.168.1.1 netmask 255.255.255.0

  1. eth0是代表第一块网卡,因此,如果你不确认的时候,必须要使用ifconfig查看一下有几块网卡,想配置的是不是eth0
  2. 192.168.1.2是想要配置的IP
  3. broadcast 192.168.1.1 代表了网关
  4. netmask 就是子网掩码了

这样配置完还是不能上网的,因为还没有配置DNS,然后 vi /etc/resolv.conf ,在文件里加入:nameserver 202.96.209.133 ,当然这是上海地区所使用的DNS,有常见的几条,统统加进来就行了。

最后在命令行下执行:/etc/init.d/networking start,对刚才的配置进行重新启动,激活一下网卡配置。
OK,就可以上网了。。

后来我又看了点资料,发现网上还是有详解的:

http://blog.ixpub.net/html/54/12634654-245464.html
  1. ifconfig 是一个用来查看、配置、启用或禁用网络接口的工具,这个工具极为常用的。可以用这个工具来临时性的配置网卡的IP地址、掩码、广播地址、网关等。也可以把它写入一个文件中(比如/etc/rc.d/rc.local),这样系统引导后,会读取这个文件,为网卡设置IP地址  
  2. 1 ifconfig 查看网络接口状态;  
  3.   
  4. ifconfig 如果不接任何参数,就会输出当前网络接口的情况;  
  5.   
  6. [root@localhost ~]# ifconfig  
  7. eth0      Link encap:Ethernet  HWaddr 00:C0:9F:94:78:0E  
  8.           inet addr:192.168.1.88  Bcast:192.168.1.255  Mask:255.255.255.0  
  9.           inet6 addr: fe80::2c0:9fff:fe94:780e/64 Scope:Link  
  10.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
  11.           RX packets:850 errors:0 dropped:0 overruns:0 frame:0  
  12.           TX packets:628 errors:0 dropped:0 overruns:0 carrier:0  
  13.           collisions:0 txqueuelen:1000  
  14.           RX bytes:369135 (360.4 KiB)  TX bytes:75945 (74.1 KiB)  
  15.           Interrupt:10 Base address:0x3000  
  16.   
  17. lo        Link encap:Local Loopback  
  18.           inet addr:127.0.0.1  Mask:255.0.0.0  
  19.           inet6 addr: ::1/128 Scope:Host  
  20.           UP LOOPBACK RUNNING  MTU:16436  Metric:1  
  21.           RX packets:57 errors:0 dropped:0 overruns:0 frame:0  
  22.           TX packets:57 errors:0 dropped:0 overruns:0 carrier:0  
  23.           collisions:0 txqueuelen:0  
  24.           RX bytes:8121 (7.9 KiB)  TX bytes:8121 (7.9 KiB)  
  25.   
  26. 解说:  
  27. eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是 00:C0:9F:94:78:0E ; inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.1.88,广播地址, Bcast:192.168.1.255,掩码地址Mask:255.255.255.0  
  28.   
  29. lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道;  
  30.   
  31. 如果想知道主机所有网络接口的情况,请用下面的命令;  
  32. [root@localhost ~]# ifconfig -a  
  33.   
  34. 如果想查看某个端口,比如查看eth0 的状态,就可以用下面的方法;  
  35. [root@localhost ~]# ifconfig eth0  
  36.   
  37.   
  38. 2 ifconfig 配置网络接口;  
  39.   
  40. ifconfig 可以用来配置网络接口的IP地址、掩码、网关、物理地址等;值得一说的是用ifconfig 为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果您想把网络接口的IP地址固定下来,目前有三个方法:一是通过各个发行和版本专用的工具来修改IP地址;二是直接修改网络接口的配置文件;三是修改特定的文件,加入ifconfig 指令来指定网卡的IP地址,比如在redhat或Fedora中,把ifconfig 的语名写入/etc/rc.d/rc.local文件中;  
  41.   
  42. ifconfig 配置网络端口的方法:  
  43.   
  44. ifconfig 工具配置网络接口的方法是通过指令的参数来达到目的的,我们只说最常用的参数;  
  45. ifconfig 网络端口 IP地址 hw <HW> MAC地址 netmask 掩码地址 broadcast 广播地址 [up/down]  
  46.   
  47. * 实例一:  
  48. 比如我们用ifconfig 来调试 eth0网卡的地址  
  49. [root@localhost ~]# ifconfig eth0 down  
  50. [root@localhost ~]# ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0  
  51. [root@localhost ~]# ifconfig eth0 up  
  52. [root@localhost ~]# ifconfig eth0  
  53. eth0 Link encap:Ethernet HWaddr 00:11:00:00:11:11  
  54.           inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0  
  55.           UP BROADCAST MULTICAST MTU:1500 Metric:1  
  56.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
  57.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
  58.           collisions:0 txqueuelen:1000  
  59.           RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)  
  60.           Interrupt:11 Base address:0x3400  
  61.   
  62. 注解: 上面的例子我们解说一下;  
  63.   
  64. 第一行:ifconfig eth0 down 表示如果eth0是激活的,就把它DOWN掉。此命令等同于 ifdown eth0;  
  65. 第二行:用ifconfig 来配置 eth0的IP地址、广播地址和网络掩码;  
  66. 第三行:用ifconfig eth0 up 来激活eth0 ; 此命令等同于 ifup eth0  
  67. 第四行:用 ifconfig eth0 来查看 eth0的状态;  
  68.   
  69. 当然您也可以用直接在指令IP地址、网络掩码、广播地址的同时,激活网卡;要加up参数;比如下面的例子;  
  70. [root@localhost ~]# ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 up  
  71.   
  72. * 实例二:在这个例子中,我们要学会设置网络IP地址的同时,学会设置网卡的物理地址(MAC地址);  
  73.   
  74. 比如我们设置网卡eth1的IP地址、网络掩码、广播地址,物理地址并且激活它;  
  75. [root@localhost ~]# ifconfig eth1 192.168.1.252 hw ether 00:11:00:00:11:11 netmask 255.255.255.0 broadcast 192.168.1.255 up  
  76. 或  
  77. [root@localhost ~]# ifconfig eth1 hw ether 00:11:00:00:11:22  
  78. [root@localhost ~]# ifconfig eth1 192.168.1.252 netmask 255.255.255.0 broadcast 192.168.1.255 up  
  79.   
  80. 其中 hw 后面所接的是网络接口类型, ether表示乙太网, 同时也支持 ax25 、ARCnet、netrom等,详情请查看 man ifconfig ;  
  81.   
  82.   
  83. 3.3 如何用ifconfig 来配置虚拟网络接口;  
  84.   
  85. 有时我们为了满足不同的需要还需要配置虚拟网络接口,比如我们用不同的IP地址来架运行多个HTTPD服务器,就要用到虚拟地址;这样就省却了同一个IP地址,如果开设两个的HTTPD服务器时,要指定端口号。  
  86.   
  87. 虚拟网络接口指的是为一个网络接口指定多个IP地址,虚拟接口是这样的 eth0:0 、 eth0:1、eth0:2 ... .. eth1N。当然您为eth1 指定多个IP地址,也就是 eth1:0、eth1:1、eth1:2 ... ...以此类推;  
  88.   
  89. 其实用ifconfig 为一个网卡配置多个IP地址,就用前面我们所说的ifconfig的用法,这个比较简单;看下面的例子;  
  90. [root@localhost ~]# ifconfig eth1:0 192.168.1.251 hw ether 00:11:00:00:11:33 netmask 255.255.255.0 broadcast 192.168.1.255 up  
  91. 或  
  92. [root@localhost ~]# ifconfig eth1 hw ether 00:11:00:00:11:33  
  93. [root@localhost ~]# ifconfig eth1 192.168.1.251 netmask 255.255.255.0 broadcast 192.168.1.255 up  
  94.   
  95. 注意:指定时,要为每个虚拟网卡指定不同的物理地址;  
  96.   
  97. 在 Redhat/Fedora 或与Redhat/Fedora类似的系统,您可以把配置网络IP地址、广播地址、掩码地址、物理地址以及激活网络接口同时放在一个句子中,写入/etc/rc.d/rc.local中。比如下面的例子;  
  98. ifconfig eth1:0 192.168.1.250 hw ether 00:11:00:00:11:44 netmask 255.255.255.0 broadcast 192.168.1.255 up  
  99. ifconfig eth1:1 192.168.1.249 hw ether 00:11:00:00:11:55 netmask 255.255.255.0 broadcast 192.168.1.255 up  
  100.   
  101. 解说:上面是为eth1的网络接口,设置了两个虚拟接口;每个接口都有自己的物理地址、IP地址... ...  
  102.   
  103.   
  104. 3.4 如何用ifconfig 来激活和终止网络接口的连接;  
  105.   
  106. 激活和终止网络接口的用 ifconfig 命令,后面接网络接口,然后加上 down或up参数,就可以禁止或激活相应的网络接口了。当然也可以用专用工具ifup和ifdown 工具;  
  107. [root@localhost ~]# ifconfig eth0 down  
  108. [root@localhost ~]# ifconfig eth0 up  
  109. [root@localhost ~]# ifup eth0  
  110. [root@localhost ~]# ifdown eth0  
  111.   
  112. 对于激活其它类型的网络接口也是如此,比如 ppp0,wlan0等;不过只是对指定IP的网卡有效。  
  113.   
  114.   
  115. 注意:对DHCP自动分配的IP,还得由各个发行版自带的网络工具来激活;当然得安装dhcp客户端;这个您我们应该明白;  
  116.   
  117. 比如Redhat/Fedora  
  118. [root@localhost ~]# /etc/init.d/network start  
  119.   
  120. Slackware 发行版;  
  121. [root@localhost ~]# /etc/rc.d/rc.inet1  

Tags: ubuntu, ifconfig, resolv

MySQL配置文件my.cnf 例子最详细翻译

对于my.cnf,我一向是懒得看的,因为在windows下面mysql默认有四个ini文件,只要拿其中的一个改为my.ini就行了。一般是拿最大的那个改,而且因为很少用innodb之类的,所以真正改的也就是第一个区块的内容。

看到冰山上的播客上面有翻译,于是COPY过来,与大家分享一下,毕竟即使不是你自己配置数据库,但了解一下也好。

XML/HTML代码
  1. #BEGIN CONFIG INFO  
  2. #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大  
  3. #TYPE: SYSTEM  
  4. #END CONFIG INFO  
  5. #  
  6. # 此mysql配置文件例子针对4G内存,并在www.bt285.cn bt下载与 www.5a520.cn 小说520,这两个日ip 2w ,pv 20w  测试过的。  
  7. # 主要使用INNODB  
  8. #处理复杂队列并且连接数量较少的mysql服务器  
  9. #  
  10. # 将此文件复制到/etc/my.cnf 作为全局设置,  
  11. # mysql-data-dir/my.cnf 作为服务器指定设置  
  12. # (@localstatedir@ for this installation) 或者放入  
  13. # ~/.my.cnf 作为用户设置.  
  14. #  
  15. # 在此配置文件中, 你可以使用所有程序支持的长选项.  
  16. # 如果想获悉程序支持的所有选项  
  17. # 请在程序后加上”–help”参数运行程序.  
  18. #  
  19. # 关于独立选项更多的细节信息可以在手册内找到  
  20. #  
  21. #  
  22. # 以下选项会被MySQL客户端应用读取.  
  23. # 注意只有MySQL附带的客户端应用程序保证可以读取这段内容.  
  24. # 如果你想你自己的MySQL应用程序获取这些值  
  25. # 需要在MySQL客户端库初始化的时候指定这些选项  
  26. #  
  27. [client]  
  28. #password = [your_password]  
  29. port = @MYSQL_TCP_PORT@  
  30. socket = @MYSQL_UNIX_ADDR@  
  31. # *** 应用定制选项 ***  
  32. #  
  33. #  MySQL 服务端  
  34. #  
  35. [mysqld]  
  36. # 一般配置选项  
  37. port = @MYSQL_TCP_PORT@  
  38. socket = @MYSQL_UNIX_ADDR@  
  39. # back_log 是操作系统在监听队列中所能保持的连接数,  
  40. # 队列保存了在MySQL连接管理器线程处理之前的连接.  
  41. # 如果你有非常高的连接率并且出现”connection refused” 报错,  
  42. # 你就应该增加此处的值.  
  43. # 检查你的操作系统文档来获取这个变量的最大值.  
  44. # 如果将back_log设定到比你操作系统限制更高的值,将会没有效果  
  45. back_log = 50  
  46. # 不在TCP/IP端口上进行监听.  
  47. # 如果所有的进程都是在同一台服务器连接到本地的mysqld,  
  48. # 这样设置将是增强安全的方法  
  49. # 所有mysqld的连接都是通过Unix sockets 或者命名管道进行的.  
  50. # 注意在windows下如果没有打开命名管道选项而只是用此项  
  51. # (通过 “enable-named-pipe” 选项) 将会导致mysql服务没有任何作用!  
  52. #skip-networking  
  53. # MySQL 服务所允许的同时会话数的上限  
  54. # 其中一个连接将被SUPER权限保留作为管理员登录.  
  55. # 即便已经达到了连接数的上限.  
  56. max_connections = 100  
  57. 一般像在我这个www.bt285.cn pv 10w   max_connections=30 就够了。但是如果页面都像http://www.bt285.cn/content.php?id=1196863 这个甜性涩爱页面一样,max_connections=30是不够的。  
  58. # 每个客户端连接最大的错误允许数量,如果达到了此限制.  
  59. # 这个客户端将会被MySQL服务阻止直到执行了”FLUSH HOSTS” 或者服务重启  
  60. # 非法的密码以及其他在链接时的错误会增加此值.  
  61. # 查看 “Aborted_connects” 状态来获取全局计数器.  
  62. max_connect_errors = 10  
  63. # 所有线程所打开表的数量.  
  64. # 增加此值就增加了mysqld所需要的文件描述符的数量  
  65. # 这样你需要确认在[mysqld_safe]中 “open-files-limit” 变量设置打开文件数量允许至少4096  
  66. table_cache = 2048  
  67. # 允许外部文件级别的锁. 打开文件锁会对性能造成负面影响  
  68. # 所以只有在你在同样的文件上运行多个数据库实例时才使用此选项(注意仍会有其他约束!)  
  69. # 或者你在文件层面上使用了其他一些软件依赖来锁定MyISAM表  
  70. #external-locking  
  71. # 服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要)  
  72. # 每个连接独立的大小.大小动态增加  
  73. max_allowed_packet = 16M  
  74. # 在一个事务中binlog为了记录SQL状态所持有的cache大小  
  75. # 如果你经常使用大的,多声明的事务,你可以增加此值来获取更大的性能.  
  76. # 所有从事务来的状态都将被缓冲在binlog缓冲中然后在提交后一次性写入到binlog中  
  77. # 如果事务比此值大, 会使用磁盘上的临时文件来替代.  
  78. # 此缓冲在每个连接的事务第一次更新状态时被创建  
  79. binlog_cache_size = 1M  
  80. # 独立的内存表所允许的最大容量.  
  81. # 此选项为了防止意外创建一个超大的内存表导致永尽所有的内存资源.  
  82. max_heap_table_size = 64M  
  83. # 排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序  
  84. # 如果排序后的数据无法放入排序缓冲,  
  85. # 一个用来替代的基于磁盘的合并分类会被使用  
  86. # 查看 “Sort_merge_passes” 状态变量.  
  87. # 在排序发生时由每个线程分配  
  88. sort_buffer_size = 8M  
  89. # 此缓冲被使用来优化全联合(full JOINs 不带索引的联合).  
  90. # 类似的联合在极大多数情况下有非常糟糕的性能表现,  
  91. # 但是将此值设大能够减轻性能影响.  
  92. # 通过 “Select_full_join” 状态变量查看全联合的数量  
  93. # 当全联合发生时,在每个线程中分配  
  94. join_buffer_size = 8M  
  95. # 我们在cache中保留多少线程用于重用  
  96. # 当一个客户端断开连接后,如果cache中的线程还少于thread_cache_size,  
  97. # 则客户端线程被放入cache中.  
  98. # 这可以在你需要大量新连接的时候极大的减少线程创建的开销  
  99. # (一般来说如果你有好的线程模型的话,这不会有明显的性能提升.)  
  100. thread_cache_size = 8  
  101. # 此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量.  
  102. # 此值只对于支持 thread_concurrency() 函数的系统有意义( 例如Sun Solaris).  
  103. # 你可可以尝试使用 [CPU数量]*(2..4) 来作为thread_concurrency的值  
  104. thread_concurrency = 8  
  105. # 查询缓冲常被用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果.  
  106. # 打开查询缓冲可以极大的提高服务器速度, 如果你有大量的相同的查询并且很少修改表.  
  107. # 查看 “Qcache_lowmem_prunes” 状态变量来检查是否当前值对于你的负载来说是否足够高.  
  108. # 注意: 在你表经常变化的情况下或者如果你的查询原文每次都不同,  
  109. # 查询缓冲也许引起性能下降而不是性能提升.  
  110. query_cache_size = 64M  
  111. # 只有小于此设定值的结果才会被缓冲  
  112. # 此设置用来保护查询缓冲,防止一个极大的结果集将其他所有的查询结果都覆盖.  
  113. query_cache_limit = 2M  
  114. # 被全文检索索引的最小的字长.  
  115. # 你也许希望减少它,如果你需要搜索更短字的时候.  
  116. # 注意在你修改此值之后,  
  117. # 你需要重建你的 FULLTEXT 索引  
  118. ft_min_word_len = 4  
  119. # 如果你的系统支持 memlock() 函数,你也许希望打开此选项用以让运行中的mysql在在内存高度紧张的时候,数据在内存中保持锁定并且防止可能被swapping out  
  120. # 此选项对于性能有益  
  121. #memlock  
  122. # 当创建新表时作为默认使用的表类型,  
  123. # 如果在创建表示没有特别执行表类型,将会使用此值  
  124. default_table_type = MYISAM  
  125. # 线程使用的堆大小. 此容量的内存在每次连接时被预留.  
  126. # MySQL 本身常不会需要超过64K的内存  
  127. # 如果你使用你自己的需要大量堆的UDF函数  
  128. # 或者你的操作系统对于某些操作需要更多的堆,  
  129. # 你也许需要将其设置的更高一点.  
  130. thread_stack = 192K  
  131. # 设定默认的事务隔离级别.可用的级别如下:  
  132. # READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE  
  133. transaction_isolation = REPEATABLE-READ  
  134. # 内部(内存中)临时表的最大大小  
  135. # 如果一个表增长到比此值更大,将会自动转换为基于磁盘的表.  
  136. # 此限制是针对单个表的,而不是总和.  
  137. tmp_table_size = 64M  
  138. # 打开二进制日志功能.  
  139. # 在复制(replication)配置中,作为MASTER主服务器必须打开此项  
  140. # 如果你需要从你最后的备份中做基于时间点的恢复,你也同样需要二进制日志.  
  141. log-bin=mysql-bin  
  142. # 如果你在使用链式从服务器结构的复制模式 (A->B->C),  
  143. # 你需要在服务器B上打开此项.  
  144. # 此选项打开在从线程上重做过的更新的日志,  
  145. # 并将其写入从服务器的二进制日志.  
  146. #log_slave_updates  
  147. # 打开全查询日志. 所有的由服务器接收到的查询 (甚至对于一个错误语法的查询)  
  148. # 都会被记录下来. 这对于调试非常有用, 在生产环境中常常关闭此项.  
  149. #log  
  150. # 将警告打印输出到错误log文件.  如果你对于MySQL有任何问题  
  151. # 你应该打开警告log并且仔细审查错误日志,查出可能的原因.  
  152. #log_warnings  
  153. # 记录慢速查询. 慢速查询是指消耗了比 “long_query_time” 定义的更多时间的查询.  
  154. # 如果 log_long_format 被打开,那些没有使用索引的查询也会被记录.  
  155. # 如果你经常增加新查询到已有的系统内的话. 一般来说这是一个好主意,  
  156. log_slow_queries  
  157. # 所有的使用了比这个时间(以秒为单位)更多的查询会被认为是慢速查询.  
  158. # 不要在这里使用”1″, 否则会导致所有的查询,甚至非常快的查询页被记录下来(由于MySQL 目前时间的精确度只能达到秒的级别).  
  159. long_query_time = 2  
  160. # 在慢速日志中记录更多的信息.  
  161. # 一般此项最好打开.  
  162. # 打开此项会记录使得那些没有使用索引的查询也被作为到慢速查询附加到慢速日志里  
  163. log_long_format  
  164. # 此目录被MySQL用来保存临时文件.例如,  
  165. # 它被用来处理基于磁盘的大型排序,和内部排序一样.  
  166. # 以及简单的临时表.  
  167. # 如果你不创建非常大的临时文件,将其放置到 swapfs/tmpfs 文件系统上也许比较好  
  168. # 另一种选择是你也可以将其放置在独立的磁盘上.  
  169. # 你可以使用”;”来放置多个路径  
  170. # 他们会按照roud-robin方法被轮询使用.  
  171. #tmpdir = /tmp  
  172. # ***  复制有关的设置  
  173. # 唯一的服务辨识号,数值位于 1 到 2^32-1之间.  
  174. # 此值在master和slave上都需要设置.  
  175. # 如果 “master-host” 没有被设置,则默认为1, 但是如果忽略此选项,MySQL不会作为master生效.  
  176. server-id = 1  
  177. # 复制的Slave (去掉master段的注释来使其生效)  
  178. #  
  179. # 为了配置此主机作为复制的slave服务器,你可以选择两种方法:  
  180. #  
  181. # 1) 使用 CHANGE MASTER TO 命令 (在我们的手册中有完整描述) -  
  182. #    语法如下:  
  183. #  
  184. #    CHANGE MASTER TO MASTER_HOST=<host>MASTER_PORT=<port>,  
  185. #    MASTER_USER=<user>MASTER_PASSWORD=<password> ;  
  186. #  
  187. #    你需要替换掉 <host><user><password> 等被尖括号包围的字段以及使用master的端口号替换<port> (默认3306).  
  188. #  
  189. #    例子:  
  190. #  
  191. #    CHANGE MASTER TO MASTER_HOST=’125.564.12.1′, MASTER_PORT=3306,  
  192. #    MASTER_USER=’joe’, MASTER_PASSWORD=’secret’;  
  193. #  
  194. # 或者  
  195. #  
  196. # 2) 设置以下的变量. 不论如何, 在你选择这种方法的情况下, 然后第一次启动复制(甚至不成功的情况下,  
  197. #     例如如果你输入错密码在master-password字段并且slave无法连接),  
  198. #    slave会创建一个 master.info 文件,并且之后任何对于包含在此文件内的参数的变化都会被忽略  
  199. #    并且由 master.info 文件内的内容覆盖, 除非你关闭slave服务, 删除 master.info 并且重启slave 服务.  
  200. #    由于这个原因,你也许不想碰一下的配置(注释掉的) 并且使用 CHANGE MASTER TO (查看上面) 来代替  
  201. #  
  202. # 所需要的唯一id号位于 2 和 2^32 - 1之间  
  203. # (并且和master不同)  
  204. # 如果master-host被设置了.则默认值是2  
  205. # 但是如果省略,则不会生效  
  206. #server-id = 2  
  207. #  
  208. # 复制结构中的master - 必须  
  209. #master-host = <hostname>  
  210. #  
  211. # 当连接到master上时slave所用来认证的用户名 - 必须  
  212. #master-user = <username>  
  213. #  
  214. # 当连接到master上时slave所用来认证的密码 - 必须  
  215. #master-password = <password>  
  216. #  
  217. # master监听的端口.  
  218. # 可选 - 默认是3306  
  219. #master-port = <port>  
  220. # 使得slave只读.只有用户拥有SUPER权限和在上面的slave线程能够修改数据.  
  221. # 你可以使用此项去保证没有应用程序会意外的修改slave而不是master上的数据  
  222. #read_only  
  223. #*** MyISAM 相关选项  
  224. # 关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块.  
  225. # 不要将其设置大于你可用内存的30%,  
  226. # 因为一部分内存同样被OS用来缓冲行数据  
  227. # 甚至在你并不使用MyISAM 表的情况下, 你也需要仍旧设置起 8-64M 内存由于它同样会被内部临时磁盘表使用.  
  228. key_buffer_size = 32M  
  229. # 用来做MyISAM表全表扫描的缓冲大小.  
  230. # 当全表扫描需要时,在对应线程中分配.  
  231. read_buffer_size = 2M  
  232. # 当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道.  
  233. # 如果你增高此值,可以提高很多ORDER BY的性能.  
  234. # 当需要时由每个线程分配  
  235. read_rnd_buffer_size = 16M  
  236. # MyISAM 使用特殊的类似树的cache来使得突发插入  
  237. # (这些插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA  
  238. # INFILE) 更快. 此变量限制每个进程中缓冲树的字节数.  
  239. # 设置为 0 会关闭此优化.  
  240. # 为了最优化不要将此值设置大于 “key_buffer_size”.  
  241. # 当突发插入被检测到时此缓冲将被分配.  
  242. bulk_insert_buffer_size = 64M  
  243. # 此缓冲当MySQL需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配.  
  244. # 这在每个线程中被分配.所以在设置大值时需要小心.  
  245. myisam_sort_buffer_size = 128M  
  246. # MySQL重建索引时所允许的最大临时文件的大小 (当 REPAIR, ALTER TABLE 或者 LOAD DATA INFILE).  
  247. # 如果文件大小比此值更大,索引会通过键值缓冲创建(更慢)  
  248. myisam_max_sort_file_size = 10G  
  249. # 如果被用来更快的索引创建索引所使用临时文件大于制定的值,那就使用键值缓冲方法.  
  250. # 这主要用来强制在大表中长字串键去使用慢速的键值缓冲方法来创建索引.  
  251. myisam_max_extra_sort_file_size = 10G  
  252. # 如果一个表拥有超过一个索引, MyISAM 可以通过并行排序使用超过一个线程去修复他们.  
  253. # 这对于拥有多个CPU以及大量内存情况的用户,是一个很好的选择.  
  254. myisam_repair_threads = 1  
  255. # 自动检查和修复没有适当关闭的 MyISAM 表.  
  256. myisam_recover  
  257. # 默认关闭 Federated  
  258. skip-federated  
  259. # *** BDB 相关选项 ***  
  260. # 如果你运行的MySQL服务有BDB支持但是你不准备使用的时候使用此选项. 这会节省内存并且可能加速一些事.  
  261. skip-bdb  
  262. # *** INNODB 相关选项 ***  
  263. # 如果你的MySQL服务包含InnoDB支持但是并不打算使用的话,  
  264. # 使用此选项会节省内存以及磁盘空间,并且加速某些部分  
  265. #skip-innodb  
  266. # 附加的内存池被InnoDB用来保存 metadata 信息  
  267. # 如果InnoDB为此目的需要更多的内存,它会开始从OS这里申请内存.  
  268. # 由于这个操作在大多数现代操作系统上已经足够快, 你一般不需要修改此值.  
  269. # SHOW INNODB STATUS 命令会显示当先使用的数量.  
  270. innodb_additional_mem_pool_size = 16M  
  271. # InnoDB使用一个缓冲池来保存索引和原始数据, 不像 MyISAM.  
  272. # 这里你设置越大,你在存取表里面数据时所需要的磁盘I/O越少.  
  273. # 在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80%  
  274. # 不要设置过大,否则,由于物理内存的竞争可能导致操作系统的换页颠簸.  
  275. # 注意在32位系统上你每个进程可能被限制在 2-3.5G 用户层面内存限制,  
  276. # 所以不要设置的太高.  
  277. innodb_buffer_pool_size = 2G  
  278. # InnoDB 将数据保存在一个或者多个数据文件中成为表空间.  
  279. # 如果你只有单个逻辑驱动保存你的数据,一个单个的自增文件就足够好了.  
  280. # 其他情况下.每个设备一个文件一般都是个好的选择.  
  281. # 你也可以配置InnoDB来使用裸盘分区 - 请参考手册来获取更多相关内容  
  282. innodb_data_file_path = ibdata1:10M:autoextend  
  283. # 设置此选项如果你希望InnoDB表空间文件被保存在其他分区.  
  284. # 默认保存在MySQL的datadir中.  
  285. #innodb_data_home_dir = <directory>  
  286. # 用来同步IO操作的IO线程的数量. This value is  
  287. # 此值在Unix下被硬编码为4,但是在Windows磁盘I/O可能在一个大数值下表现的更好.  
  288. innodb_file_io_threads = 4  
  289. # 如果你发现InnoDB表空间损坏, 设置此值为一个非零值可能帮助你导出你的表.  
  290. # 从1开始并且增加此值知道你能够成功的导出表.  
  291. #innodb_force_recovery=1  
  292. # 在InnoDb核心内的允许线程数量.  
  293. # 最优值依赖于应用程序,硬件以及操作系统的调度方式.  
  294. # 过高的值可能导致线程的互斥颠簸.  
  295. innodb_thread_concurrency = 16  
  296. # 如果设置为1 ,InnoDB会在每次提交后刷新(fsync)事务日志到磁盘上,  
  297. # 这提供了完整的ACID行为.  
  298. # 如果你愿意对事务安全折衷, 并且你正在运行一个小的食物, 你可以设置此值到0或者2来减少由事务日志引起的磁盘I/O  
  299. # 0代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘.  
  300. # 2代表日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上.  
  301. innodb_flush_log_at_trx_commit = 1  
  302. # 加速InnoDB的关闭. 这会阻止InnoDB在关闭时做全清除以及插入缓冲合并.  
  303. # 这可能极大增加关机时间, 但是取而代之的是InnoDB可能在下次启动时做这些操作.  
  304. #innodb_fast_shutdown  
  305. # 用来缓冲日志数据的缓冲区的大小.  
  306. # 当此值快满时, InnoDB将必须刷新数据到磁盘上.  
  307. # 由于基本上每秒都会刷新一次,所以没有必要将此值设置的太大(甚至对于长事务而言)  
  308. innodb_log_buffer_size = 8M  
  309. # 在日志组中每个日志文件的大小.  
  310. # 你应该设置日志文件总合大小到你缓冲池大小的25%~100%  
  311. # 来避免在日志文件覆写上不必要的缓冲池刷新行为.  
  312. # 不论如何, 请注意一个大的日志文件大小会增加恢复进程所需要的时间.  
  313. innodb_log_file_size = 256M  
  314. # 在日志组中的文件总数.  
  315. # 通常来说2~3是比较好的.  
  316. innodb_log_files_in_group = 3  
  317. # InnoDB的日志文件所在位置. 默认是MySQL的datadir.  
  318. # 你可以将其指定到一个独立的硬盘上或者一个RAID1卷上来提高其性能  
  319. #innodb_log_group_home_dir  
  320. # 在InnoDB缓冲池中最大允许的脏页面的比例.  
  321. # 如果达到限额, InnoDB会开始刷新他们防止他们妨碍到干净数据页面.  
  322. # 这是一个软限制,不被保证绝对执行.  
  323. innodb_max_dirty_pages_pct = 90  
  324. # InnoDB用来刷新日志的方法.  
  325. # 表空间总是使用双重写入刷新方法  
  326. # 默认值是 “fdatasync”, 另一个是 “O_DSYNC”.  
  327. #innodb_flush_method=O_DSYNC  
  328. # 在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久.  
  329. # InnoDB在其拥有的锁表中自动检测事务死锁并且回滚事务.  
  330. # 如果你使用 LOCK TABLES 指令, 或者在同样事务中使用除了InnoDB以外的其他事务安全的存储引擎  
  331. # 那么一个死锁可能发生而InnoDB无法注意到.  
  332. # 这种情况下这个timeout值对于解决这种问题就非常有帮助.  
  333. innodb_lock_wait_timeout = 120  
  334. [mysqldump]  
  335. # 不要在将内存中的整个结果写入磁盘之前缓存. 在导出非常巨大的表时需要此项  
  336. quick  
  337. max_allowed_packet = 16M  
  338. [mysql]  
  339. no-auto-rehash  
  340. # 仅仅允许使用键值的 UPDATEs 和 DELETEs .  
  341. #safe-updates  
  342. [isamchk]  
  343. key_buffer = 512M  
  344. sort_buffer_size = 512M  
  345. read_buffer = 8M  
  346. write_buffer = 8M  
  347. [myisamchk]  
  348. key_buffer = 512M  
  349. sort_buffer_size = 512M  
  350. read_buffer = 8M  
  351. write_buffer = 8M  
  352. [mysqlhotcopy]  
  353. interactive-timeout  
  354. [mysqld_safe]  
  355. # 增加每个进程的可打开文件数量.  
  356. # 警告: 确认你已经将全系统限制设定的足够高!  
  357. # 打开大量表需要将此值设高 j  
  358. open-files-limit = 8192  

Tags: mysql, 配置, 翻译