??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区不卡,黄色大片在线看,久久久9色精品国产一区二区三区http://www.aygfsteel.com/dongbule/category/46019.html构徏高性能门户|?/description>zh-cnWed, 01 Dec 2010 21:57:22 GMTWed, 01 Dec 2010 21:57:22 GMT60安装配置整理?mysqlhttp://www.aygfsteel.com/dongbule/archive/2010/11/30/339394.html陈于?/dc:creator>陈于?/author>Tue, 30 Nov 2010 07:21:00 GMThttp://www.aygfsteel.com/dongbule/archive/2010/11/30/339394.htmlhttp://www.aygfsteel.com/dongbule/comments/339394.htmlhttp://www.aygfsteel.com/dongbule/archive/2010/11/30/339394.html#Feedback0http://www.aygfsteel.com/dongbule/comments/commentRss/339394.htmlhttp://www.aygfsteel.com/dongbule/services/trackbacks/339394.html
tar zxvf mysql-5.1.50.tar.gz

cd mysql-5.1.50

./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charset=all --enable-hread-safe-client
--enable-local-infile --with-low-memory 

make && make install

chmod +w /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql

cp support-files/my-medium.cnf /etc/my.cnf

/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf


]]>
MySQL定期分析查与优化?/title><link>http://www.aygfsteel.com/dongbule/archive/2010/10/10/334176.html</link><dc:creator>陈于?/dc:creator><author>陈于?/author><pubDate>Sun, 10 Oct 2010 06:55:00 GMT</pubDate><guid>http://www.aygfsteel.com/dongbule/archive/2010/10/10/334176.html</guid><wfw:comment>http://www.aygfsteel.com/dongbule/comments/334176.html</wfw:comment><comments>http://www.aygfsteel.com/dongbule/archive/2010/10/10/334176.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dongbule/comments/commentRss/334176.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dongbule/services/trackbacks/334176.html</trackback:ping><description><![CDATA[<br /> 听DBA的h_相比oracleQMySQL是一个玩L别的数据库,在网易门户中QDBA基本很少ȝ理到MySQL的东西,所以我们品用到的MySQL的一些配|和优化q是需要我们开发h员自己动手,下面q单介l一下实用的定期优化Ҏ<br /> <br /> <strong>定期分析?br /> <br /> </strong> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name]</span></div> <br /> 本语句用于分析和存储表的关键字分布。在分析期间Q用一个读取锁定对表进行锁定。这对于MyISAM, BDB和InnoDB表有作用。对于MyISAM表,本语句与使用myisamchk -a相当?br /> <br /> MySQL使用已存储的关键字分布来军_Q当您对除常C外的对象执行联合Ӟ表按什么顺序进行联合? <br /> <br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">mysql> analyze table a;<br /> +--------+---------+----------+-----------------------------+<br /> | Table  | Op      | Msg_type | Msg_text                    |<br /> +--------+---------+----------+-----------------------------+<br /> | test.a | analyze | status   | Table is already up to date | <br /> +--------+---------+----------+-----------------------------+<br /> 1 row in set (0.00 sec)</span></div> <br /> <strong>定期查表<br /> <br /> </strong> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">CHECK TABLE tbl_name [, tbl_name] <img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /> [option] <img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /><br /> <br /> option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}</span></div> <strong><br /> </strong>查一个或多个表是否有错误。CHECK TABLE对MyISAM和InnoDB表有作用。对于MyISAM表,关键字统计数据被更新?br /> <br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">mysql> check table a;<br /> +--------+-------+----------+----------+<br /> | Table  | Op    | Msg_type | Msg_text |<br /> +--------+-------+----------+----------+<br /> | test.a | check | status   | OK       | <br /> +--------+-------+----------+----------+<br /> 1 row in set (0.00 sec)</span></div> <br /> CHECK TABLE也可以检查视图是否有错误Q比如在视图定义中被引用的表已不存在?br /> 我们Z面的表a创徏一个视? <br /> <br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">mysql> create view a_view as select * from a;<br /> Query OK, 0 rows affected (0.02 sec)</span></div> <br /> 然后CHECK一下该视图Q发现没有问?br /> <br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">mysql> check table a_view;<br /> +-------------+-------+----------+----------+<br /> | Table       | Op    | Msg_type | Msg_text |<br /> +-------------+-------+----------+----------+<br /> | test.a_view | check | status   | OK       | <br /> +-------------+-------+----------+----------+<br /> 1 row in set (0.00 sec)</span></div> <br /> 现在删掉视图依赖的表<br /> <br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">mysql> drop table a;<br /> Query OK, 0 rows affected (0.01 sec)</span></div> <br /> 再CHECK一下刚才的视图Q发现报错了<br /> <br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">mysql> check table a_view\G;<br /> *************************** 1. row ***************************<br />    Table: test.a_view<br />       Op: check<br /> Msg_type: Error<br /> Msg_text: Table 'test.a' doesn't exist<br /> *************************** 2. row ***************************<br />    Table: test.a_view<br />       Op: check<br /> Msg_type: Error<br /> Msg_text: View 'test.a_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them<br /> *************************** 3. row ***************************<br />    Table: test.a_view<br />       Op: check<br /> Msg_type: error<br /> Msg_text: Corrupt<br /> 3 rows in set (0.00 sec)<br /> <br /> ERROR: <br /> No query specified</span></div> <br /> <strong>定期优化?br /> <br /> </strong> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] </span></div> <strong></strong><br /> 如果您已l删除了表的一大部分,或者如果您已经对含有可变长度行的表Q含有VARCHAR, BLOB或TEXT列的表)q行了很多更改,则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中Q后l的INSERT操作会重C用旧的记录位|。您可以使用OPTIMIZE TABLE来重新利用未使用的空_q整理数据文件的片?br /> 在多数的讄中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更斎ͼ您也不需要经常运行,每周一ơ或每月一ơ即可,只对特定的表q行?br /> OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表v作用?br /> 对于MyISAM表,OPTIMIZE TABLE按如下方式操作:<br /> 如果表已l删除或分解了行Q则修复表?br /> 如果未对索引进行分c,则进行分cR?br /> 如果表的l计数据没有更新Qƈ且通过对烦引进行分cM能实C复)Q则q行更新? <br /> <br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">mysql> OPTIMIZE table a;<br /> +--------+----------+----------+-----------------------------+<br /> | Table  | Op       | Msg_type | Msg_text                    |<br /> +--------+----------+----------+-----------------------------+<br /> | test.a | optimize | status   | Table is already up to date | <br /> +--------+----------+----------+-----------------------------+<br /> 1 row in set (0.00 sec)<br /> </span></div> <br /> ****<br /> 以上某些的段落是直接摘自MySQL的中文手册,详细可以直接查看MySQL的帮助手册,q里只是单指出几U定期优化的方式Q需要注意的是无论是ANALYZEQCHECKq是OPTIMIZE在执行期间将对表q行锁定Q因此请注意q些操作要在数据库不J忙的时候执?br /> <p>****<br /> 参?br /> 《MySQL 5.1参考手册?/p> <p><br /> </p> ----------------------------------------<br /> <br /> by 陈于?<br /> QQ:34174409<br /> Mail: chenyz@corp.netease.com <br /> <br /> <img src ="http://www.aygfsteel.com/dongbule/aggbug/334176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dongbule/" target="_blank">陈于?/a> 2010-10-10 14:55 <a href="http://www.aygfsteel.com/dongbule/archive/2010/10/10/334176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对MyIsam存储引擎表损坏的处理http://www.aygfsteel.com/dongbule/archive/2010/10/10/334174.html陈于?/dc:creator>陈于?/author>Sun, 10 Oct 2010 06:11:00 GMThttp://www.aygfsteel.com/dongbule/archive/2010/10/10/334174.htmlhttp://www.aygfsteel.com/dongbule/comments/334174.htmlhttp://www.aygfsteel.com/dongbule/archive/2010/10/10/334174.html#Feedback0http://www.aygfsteel.com/dongbule/comments/commentRss/334174.htmlhttp://www.aygfsteel.com/dongbule/services/trackbacks/334174.html 如果你的MyIsam表存在大量高q发的读写,那么可能出现坏表的现象Q这是因为MyIsam存储引擎所军_的,一张损坏的表的症状可能是以前某些错?br />
*.frm 被锁定不能更?br /> 找不?/span>*.MYI
文g意外l束
记录文g损坏

处理1
使用MySQL自带的myisamchk的工兯行修复,myisamchk不仅可以查和修复MyIsam表,q可以进行优化和分析表,实际上,它集成了mysql中的check,repair,analyze,optimize的功能,下面是用myisamchkq行修复

myisamchk -r tablename

其中-r参数的含义是recoverQ在以往的应用,q语句几乎可以解决上面所q碰到的问题Q如果还不行Q可以?br />
myisamchk -o tablename

其中-o参数的含义是--safe-recoverQ可以进行更安全的修?br />
处理2
使用MySql的CHECK TABLE和REPAIR TABLE命o来进行修复,CHECK TABLE查表是否损坏QREPAIR TABLE用来对表坏进行修?br />
CHECK TABLE tablename [option]

REPAIR 
[option] tablename

具体的参数可以参看MySQL的帮助文?br />
一般来说第一U方法可以解军_多数的问题,如果采用q两U方法依然无法解军_以与我联p,QQ?4174409

----------------------------------------

by 陈于?
QQ:34174409
Mail: chenyz@corp.netease.com



]]>
析MySql二进制日志的应用http://www.aygfsteel.com/dongbule/archive/2010/09/04/331050.html陈于?/dc:creator>陈于?/author>Sat, 04 Sep 2010 10:55:00 GMThttp://www.aygfsteel.com/dongbule/archive/2010/09/04/331050.htmlhttp://www.aygfsteel.com/dongbule/comments/331050.htmlhttp://www.aygfsteel.com/dongbule/archive/2010/09/04/331050.html#Feedback0http://www.aygfsteel.com/dongbule/comments/commentRss/331050.htmlhttp://www.aygfsteel.com/dongbule/services/trackbacks/331050.html
二进制日志(bin-log日志Q?/span>
?a href="http://www.aygfsteel.com/dongbule/archive/2010/08/22/329602.html">上一介lmysqlM配置的blog中,已经提过bin-log日志的作用和使用Qbin-log日志记录了所有的DDL和DML的语句,但不包括查询的语句,语句以事件的方式保存Q描qC数据的更改过E,此日志对发生N时数据恢复vC极ؓ重要的作用?br />
开?/strong>
mysql默认是没有开发bin-log日志Q首先我们需要开启bin-log日志Q在my.cnf中修?br />


指定了bin-log日志的\径,开启日志后需要myssqladmin flush log才生?重启后我们发现在刚才讑֮的\径新增了log文gQ这是我们需要的二进制日?br />


׃日志是以二进制方式存储的Q不能直接读取,需要用mysql自带的mysqlbinlog工具来进行查?br /> 语法如下Q?br />
#mysqlbinlog mysql-bin.000002

现在我们试向test1表插入数?br />


然后使用mysqlbinlog工具q行日志查看

#mysqlbinlog mysql-bin.000002 -d test



清理

如果每天都会生成大量的二q制日志Q这些日志长旉不清理的话,会对磁盘空间带来很大的费Q所以定期清理日志是DBAl护mysql的一个重要工?br />
1)RESET MASTER
在上面查看日志存攄文g夹中Q二q制日志命名的格式是以mysql-bin.*Q?代表日志的序?序号是递增?其中q有mysql-bin.index是日志的索引文g,记录了日志的最大序?br /> 我们执行RESET MASTER命名删除全部日志



查看删除后的日志



可以看到,以前的日志全部被清空,新的日志?0001开?br />
2)PURGE MASTER LOGS TO & PURGE MASTER LOGS BEFORE
执行PURGE MASTER LOGS TO 'mysql-bin.******'命oQ是?******'~号之前的所有日志进行删?br /> 执行PURGE MASTER LOGS BEFORE 'yyyy-mm-dd hh:mm:ss'命oQ是在'yyyy-mm-dd hh:mm:ss'旉之前的所有日志进行删?br />
3)-EXPIRE_LOGS_DAYS
此参数是讄日志的过期天敎ͼq期的日志将会被自动删除Q这有利于减我们管理日志的工作量,需要修改my.cnf



q里我们讑֮保存日志?天,3天之后过期的日志被自动删除

恢复

bin-log是记录着mysql所有事件的操作Q当mysql发生N性错误时Q可以通过bin-log做完整恢复,Z旉点的恢复Q和Z位置的恢?br />
完整恢复Q假定我们每天凌?炚w会用mysqldump备䆾数据库,但在W二天早?点由于数据库出现了故障,数据无法讉KQ需要恢复数据,先用昨天凌晨备份的文gq行恢复到凌?点的状态,在用mysqlbinlog恢复自mysqldump备䆾以来的binlog
mysql localhost mysql-bin.000001 | mysql -uroot -p
q样数据库就可以完全的恢复到崩溃前的完全状?br />
Z旉点的恢复Q由于误操作Q比如说删除了一张表Q这时用上面讲的完全恢复是没有用的Q因为日志里面还存在误操作的语句Q,我们需要的是恢复到误操作前的状态,然后跌误操作的语句Q再恢复后面操作的语句,假定我们删除了一张表的误操作发生?0:00q个旉点,我们可以使用下面的语句用备䆾和binlog数据恢复到故障?br />
mysqlbinlog --stop-date='2010-09-04 9:59:59' /var/log/mysql-bin.000001 | mysql -uroot -p

然后跌误操作的旉点,l箋执行后面的binlog

mysqlbinlog --start-date='2010-09-04 10:01:00' /var/log/mysql-bin.000001 | mysql -uroot -p

其中--stop-date='2010-09-04 9:59:59' ?--start-date='2010-09-04 10:01:00' 其中的时间是你误操作的时间点Q当然了Q这个时间点你需要你自己计算的,而且q个旉点还可以涉及到的不只是误操作Q还可以有正的操作也被跌M?br />
Z位置恢复Q由于上面提到的Q用基于时间点的恢复可能出玎ͼ在一个时间点里面可能存在误操作和其他正确的操作,所以我们需要一U更为精的恢复方式
使用mysqlbinlog查看二进Ӟ可看?br />


其中drop tables test1q个误操作的end_log_pos?879917Q几下这个id,得出它前后操作的id分别?879916,8879918
我们进行位|恢复操?br />
mysqlbinlog --stop-position='8879916' /var/log/mysql-bin.000001 | mysql -uroot -p

mysqlbinlog 
--start-position='8879918' /var/log/mysql-bin.000001 | mysql -uroot -p

W一行是恢复到停止位|位|的所以事务,W二性是恢复从给定的起始位置知道二进制日志结束所有事物?br />
M复制
mysql的复制是指将L据库的DDL和DML操作通过二进制日志传C服务器上Q然后在从服务器上对q些日志做重新执行的操作Q从而得从服务器和L务器保持数据的同步,通过二进制日志进行主从复制的可以看前一?a href="http://www.aygfsteel.com/dongbule/archive/2010/08/22/329602.html">MySQL M复制配置?br />
----------------------------------------

by 陈于?
Mail: chenyz@corp.netease.com



]]>
MySQLM复制的一些错误处理和日常l护http://www.aygfsteel.com/dongbule/archive/2010/08/23/329714.html陈于?/dc:creator>陈于?/author>Mon, 23 Aug 2010 13:35:00 GMThttp://www.aygfsteel.com/dongbule/archive/2010/08/23/329714.htmlhttp://www.aygfsteel.com/dongbule/comments/329714.htmlhttp://www.aygfsteel.com/dongbule/archive/2010/08/23/329714.html#Feedback0http://www.aygfsteel.com/dongbule/comments/commentRss/329714.htmlhttp://www.aygfsteel.com/dongbule/services/trackbacks/329714.html
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting 
for master to send event
Master_Host: 
192.168.0.100
Master_User: root
Master_Port: 
3306
Connect_Retry: 
3
 Master_Log_File: mysql
-bin.003
 Read_Master_Log_Pos: 
79
Relay_Log_File: mysql 
-relay-bin. 003
Relay_Log_Pos: 
548
Relay_Master_Log_File: mysql 
-bin. 003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Last_Errno: 
0
…..

在上面这些信息中我们主要x的是Slave_IO_Running和Slave_SQL_Running
Slave_IO_Running:从服务器正从L务器上读取BINLOG日志,q写入从服务器的中日志
Slave_SQL_Running:q程正在d从服务器的BINLOG中日志Qƈ转化为SQL执行
以前有一个进E是no状态,表示复制的进E停止,在Last_Errno会看到是什么情?br />
有时候因Z服务器的更新q于频繁,造成了从服务器更新速度较慢,当然问题是多U多?有可能是|络搭徏的结构不好或者硬件的性能较差,从而得主从服务器之间的差距越来越?最l对某些应用产生了媄?在这U情况下,我们需要定期进行主从服务器的数据同?具体步骤如下
在主服务器上

mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 
0 rows affected (0.03 sec)
mysql
> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000004
Position: 
102
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)

记录出日志的名字和偏U量,q些是从服务器复制的目的目标

在从服务器上,使用MASTER_POS_WAIT()函数得到复制坐标?br />
mysql> select master_pos_wait('mysql-bin.000004','102');
+-------------------------------------------+
| master_pos_wait('mysql-bin.000004','102'|
+-------------------------------------------+
|                                      0                         |
+-------------------------------------------+
1 row in set (0.00 sec)
q个select 语句会阻塞直C服务器达到指定日志文件和偏移量后,q回0,如果?1,则表C时推?查询??表示从服务器与主服务器已l同?br />
在某些情况下,会出C服务器更新失?首先需要确定是否从服务器的表与L务器的不同造成?如果是表l构造成?则需要修改从服务器的表和L务器一?然后重新q行start slave
如果不是表结构不同造成的更新失败,则需要确认手动更新是否安全,然后忽视来自L务器的更新失败语句,跌来来自主服务器的语句Q命令ؓSET GLOBAL SQL_SLAVE_SKIP_COUNTER=n,其中,n=1表示来自L务器的更新语句不使用AUTO_INCREMENT或LAST_INSERT_ID(),n=2时则反之,原因是用AUTO_INCREMENT或LAST_INSERT_ID的语句需要从二进制日志中取得两个事g.
----------------------------------------

by 陈于?
Mail: chenyz@corp.netease.com





]]>
mysql4.0q移?.0的passowd()函数问题http://www.aygfsteel.com/dongbule/archive/2010/08/23/329628.html陈于?/dc:creator>陈于?/author>Mon, 23 Aug 2010 02:41:00 GMThttp://www.aygfsteel.com/dongbule/archive/2010/08/23/329628.htmlhttp://www.aygfsteel.com/dongbule/comments/329628.htmlhttp://www.aygfsteel.com/dongbule/archive/2010/08/23/329628.html#Feedback0http://www.aygfsteel.com/dongbule/comments/commentRss/329628.htmlhttp://www.aygfsteel.com/dongbule/services/trackbacks/329628.html 在mysql4.0?br />
mysql> select password('abc'); 
+------------------+ 
| password('abc')  | 
+------------------+ 
| 7cd2b5942be28759 | 
+------------------+ 

而在mysql5.0?

select password('abc');  
+-------------------------------------------+  
| password('abc')                           |  
+-------------------------------------------+  
| *0D3CED9BEC10A777AEC23CCC353A8C08A633045E |   
+-------------------------------------------+ 

l查资料,在mysql5.0下用old_passord()函数可以得C4.0一L效果

select old_password('abc');  
+---------------------+  
| old_password('abc'|  
+---------------------+  
| 7cd2b5942be28759    |   
+---------------------+ 


但只要需要改动到E序,再进行查资料

两个函数都可以用password() 函数调用Q?
控制开关由/etc/mysql/my.cnf中的old_passwords变量讑֮Q?
讄?#8220;0” ,调用新的password函数Q?
讄?#8221;1″Q就调用旧的password函数?

问题最l解?不用修改E序

----------------------------------------

陈于?
Mail: chenyz@corp.netease.com


]]>
MySQLM复制几个重要的启动选项http://www.aygfsteel.com/dongbule/archive/2010/08/22/329603.html陈于?/dc:creator>陈于?/author>Sun, 22 Aug 2010 15:30:00 GMThttp://www.aygfsteel.com/dongbule/archive/2010/08/22/329603.htmlhttp://www.aygfsteel.com/dongbule/comments/329603.htmlhttp://www.aygfsteel.com/dongbule/archive/2010/08/22/329603.html#Feedback0http://www.aygfsteel.com/dongbule/comments/commentRss/329603.htmlhttp://www.aygfsteel.com/dongbule/services/trackbacks/329603.html


在上一?/span>MySQLM复制配置 已经介绍q几个启动时的复制参?/span>,下面再介l几个常用的启动选项,

(1)   log-slave-updates

log-slave-updatesq个参数用来配置从服务器的更新是否写入二q制日志Q这个选项默认是不打开的,但是Q如果这个从服务?/span>B是服务器A的从服务器,同时q作为服务器C的主服务器,那么需要开发这个选项Q这样它的从服务?/span>C才能获得它的二进制日志进行同步操?/span>

 

(2)   master-connect-retry

master-connect-retryq个参数是用来设|在和主服务器连接丢q时候,重试的时间间隔,默认?/span>60U?/span>

 

(3)   read-only

read-only是用来限制普通用户对从数据库的更新操作,以确保从数据库的安全性,不过如果是超U用户依然可以对从数据库q行更新操作

 

(4)   slave-skip-errors

在复制过E中Q由于各U的原因Q从服务器可能会遇到执行BINLOG中的SQL出错的情况,在默认情况下Q服务器会停止复制进E,不再q行同步Q等到用戯行来处理?/span>

Slave-skip-errors的作用就是用来定义复制过E中从服务器可以自动跌的错误号Q当复制q程中遇到定义的错误P可以自动蟩q,直接执行后面?/span>SQL语句?/span>


--slave-skip-errors=[err1,err2,…….|ALL]


但必L意的是,启动q个参数Q如果处理不当,很可能造成M数据库的数据不同步,在应用中需要根据实际情况,如果Ҏ据完整性要求不是很严格Q那么这个选项实可以减轻l护的成?/span>

 

 



]]>
MySQLM复制配置http://www.aygfsteel.com/dongbule/archive/2010/08/22/329602.html陈于?/dc:creator>陈于?/author>Sun, 22 Aug 2010 15:28:00 GMThttp://www.aygfsteel.com/dongbule/archive/2010/08/22/329602.htmlhttp://www.aygfsteel.com/dongbule/comments/329602.htmlhttp://www.aygfsteel.com/dongbule/archive/2010/08/22/329602.html#Feedback0http://www.aygfsteel.com/dongbule/comments/commentRss/329602.htmlhttp://www.aygfsteel.com/dongbule/services/trackbacks/329602.html

Mysql的主从复制至是需要两?/span>Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上Q也可以在一台服务器上启动多个服务?/span>

(1)首先保M服务器上?/span>Mysql版本相同

(2)在主服务器上,讄一个从数据库的账户,使用REPLICATION SLAVE赋予权限,?/span>:


mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'192.168.0.99' IDENTIFIED BY

'123456';

Query OK, 0 rows affected (0.13 sec)


(3)修改L据库的配|文?/span>my.cnf,开?/span>BINLOGQƈ讄server-id的|修改之后必须重启Mysql服务


[mysqld]

log-bin = /home/mysql/log/mysql-bin.log

server-id=1


(4)之后可以得到L务器当前二进制日志名和偏U量Q这个操作的目的是ؓ了在从数据库启动后,从这个点开始进行数据的恢复


mysql> show master status\G;

*************************** 1. row ***************************

File: mysql-bin.000003

Position: 243

Binlog_Do_DB:

Binlog_Ignore_DB:

1 row in set (0.00 sec)


(5)好了Q现在可以停止主数据的的更新操作Qƈ生成L据库的备份,我们可以通过mysqldump到处数据C数据库,当然了,你也可以直接?/span>cp命o数据文件复制到从数据库?/span>

注意在导出数据之前先对主数据库进?/span>READ LOCKQ以保证数据的一致?/span>


mysql> flush tables with read lock;

Query OK, 0 rows affected (0.19 sec)


之后?/span>mysqldump


mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sql


最好在L据库备䆾完毕Q恢复写操作


mysql> unlock tables;

Query OK, 0 rows affected (0.28 sec)


(6)刚才主数据备䆾?/span>test.sql复制C数据库,q行导入

(7)接着修改从数据库?/span>my.cnf,增加server-id参数,指定复制使用的用?/span>,L据库服务器的ip,端口以及开始执行复制日志的文g和位|?/span>


[mysqld]

server-id=2

log_bin = /var/log/mysql/mysql-bin.log

master-host =192.168.1.100

master-user=test

master-pass=123456

master-port =3306

master-connect-retry=60

replicate-do-db =test


(8)在从服务器上,启动slaveq程


mysql> start slave;


(9)在从服务器进?/span>show salve status验证


mysql> SHOW SLAVE STATUS\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: localhost

Master_User: root

Master_Port: 3306

Connect_Retry: 3

Master_Log_File: mysql-bin.003

Read_Master_Log_Pos: 79

Relay_Log_File: gbichot-relay-bin.003

Relay_Log_Pos: 548

Relay_Master_Log_File: mysql-bin .003

Slave_IO_Running: Yes

Slave_SQL_Running: Yes


(10)好了,现在可以在我们的L务器做一些更新的操作,然后在从服务器查看是否已l更?/span>

----------------------------------------

陈于?
Mail: chenyz@corp.netease.com



]]>
վ֩ģ壺 | Ϣ| | Ȫ| | | | | ϳ| | ҵ| °Ͷ| | | | | | | | | | ԣ| ֹ| β| ײ| | | ʯ| | | Ϫ| | | ÷| ݳ| ͨ| | Ž| | ɽ| ֽ|