??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲专区一路线二,狠狠综合久久综合88亚洲,亚洲av无码av制服另类专区http://www.tkk7.com/gm_jing/category/13516.html生活之点Ҏ?/description>zh-cnSat, 04 Aug 2007 06:39:04 GMTSat, 04 Aug 2007 06:39:04 GMT60 快速上?MySQL Q-囑Ş化操作详?http://www.tkk7.com/gm_jing/articles/108957.html黎夕黎夕Fri, 06 Apr 2007 07:47:00 GMThttp://www.tkk7.com/gm_jing/articles/108957.htmlhttp://www.tkk7.com/gm_jing/comments/108957.htmlhttp://www.tkk7.com/gm_jing/articles/108957.html#Feedback0http://www.tkk7.com/gm_jing/comments/commentRss/108957.htmlhttp://www.tkk7.com/gm_jing/services/trackbacks/108957.htmlhttp://blog.csdn.net/javamxj/archive/2005/01/13/251861.aspx


一、MySQL下蝲与安?/font>
 
 1、下载介l?/strong>
 
    MySQL怿大家一定听说过Q如果不知道它是q什么的Q可以去google一下?/div>
    MySQL的大本营Q?a >http://www.mysql.com/
    MySQL的下载地址Q?a >http://dev.mysql.com/downloads/   因ؓ要从q个地址下蝲不少东东Q所以详l分析一下这个网c?nbsp; 
   
 
?关于镜像|站Q没有大陆的Q有香港和台湄。选择它,是ؓ了加快下载速度Q不q也不是l对的,我经常就从北的镜像下蝲Q速度反而更快些?nbsp;
 
?MySQL数据库服务器  q里我选择MySQL 4.1版本。版本太低,许多新特性用不上Q太高,试q没有完善,Ҏ出Bug。这里选择它推荐的?/div>
 
   点击q个链接Q进入下载页面,可以看到Q当前版本是4.1.8。找?#8220;Windows downloads”Q如图,因ؓ我用的是Windowsq_。这里我选择“Without installer (unzip in C:\)”q个版本Q因为我喜欢不需要安装的软gQ用的不高兴Q随时可以直接删除,当然需要自己配|一下才能用?/div>
   点击“Pick a mirror”,q入一个页面,那里的表格可以不填,直接选择一个链接下载它可以了。下载后的文件名?#8220;mysql-4.1.8-win-noinstall.zip”Q大是35.2M?/div>
 
 
?关于“Graphical clients” 囑Ş界面的客LQ选择一个吧Q可以进行图形化操作Q何乐而不为?只不q以前我一直用“MySQL Control Center”的,现在却不开发了。选择“MySQL Administrator”吧,下蝲后的文g名是“mysql-administrator-1.0.19-win-noinstall.zip”Q这里我选择的是不需要安装版本)Q大是4.5M?/div>
 
   同样也选择“MySQL Query Browser”Q它是来查询的。下载后的文件名?#8220;mysql-query-browser-1.1.5-win-noinstall.zip”Q不需要安装版本)Q大是4.5M?/div>
 
   关于q方面的软g比较多,如:MySQL-FrontQEMS MySQL Manager{,比较好用Q不q它们是要Money的?/div>
 
?“Application Programming Interfaces (APIs) ” 应用E序接口  ׃我主要是面向Java应用Q所以这里就选择“MySQL Connector/J ”Q版本选择“MySQL Connector/J 3.0”Q因为它?#8220;Procdution”版本。下载后的文件名?#8220;mysql-connector-java-3.0.16-ga.zip”Q大是1.2M?/div>
 
 
2、安装MySQL
 
  · 扑ֈ下蝲后的mysql-4.1.8-win-noinstall.zipQ解压到D盘,是一?#8220;mysql-4.1.8-win”文g夹,q里我把它改名ؓ“mysql”Q因为我不喜Ƣ带版本受即q时?#8220;D:\mysql”目录Q这个目录下有一?#8220;data”目录Q这里就是存放数据的地方。ؓ了方便备份和升Q最好把它放在其它地斏V这里我在D盘新Z个目?#8220;mysql-data”Q然后把“D:\mysql”目录下的“data”子目录剪切到“D:\mysql-data”目录中?/div>
  
  ·新徏一?#8220;my.ini”文gQ注意后~名是“ini”。内容如下:       
E:\WINDOWS\my.ini
[WinMySQLAdmin]
   Server=D:/mysql/bin/mysqld-nt.exe
  
[mysqld]
   basedir=D:/mysql
   datadir=D:/mysql-data/data
  上面“Server”指向MySQL的执行主E序Q?#8220;basedir”指向MySQL的安装目录,“datadir”指向MySQL的数据存攄录(因ؓ我改变了它,所以需要特别指定)?/font>
  然后把这个文件移动到Windows的系l安装目?/strong>下,我这里是“E:\WINDOWS”?/div>
 
  · 打开MS-DOSH口Q切换到“D:\mysql\bin”目录Q或者把“D:\mysql\bin”d?#8220;环境变量”?#8220;Path”变量中,q样可以避免切换?#8220;D:\mysql\bin”目录?/div>
 
  ·加入到Windows XP的服务中Q?/div>
       D:\mysql\bin> mysqld-nt  -install  
   Q这时打开“控制面板”->理工具->服务Q可以看到服务列表中存在“MySQL”服务Q如果不希望它自动执行,可以改ؓ手动Q不用它的时候可以节省点内存Q?/font>

   · 启动和停止mysql服务
       D:\mysql\bin>net  start mysql
       D:\mysql\bin>net  stop  mysql
 
         
   · Udmysql服务
         mysqld-nt --remove
   Q如果你不再需要MySQL了,先停止MySQL服务Q然后再UdMySQL服务Q最后删除MySQL安装目录卛_Q?/font>
 
 
 
二、基本操?/font>  
 
?准备工作
 
  在D盘徏立一个mysql-software的目录,把刚才下载的 mysql-administrator-1.0.19-win-noinstall.zip 复制到这个子目录中,解压Q得C?MySQL Administrator 1.0 的目录?/div>
  同样如此操作 mysql-query-browser-1.1.5-win-noinstall.zipQ得C?MySQL Query Browser 1.1 的目录?/div>
  
 
?启动服务Q?/div>
 
· 双击D:\mysql-software\MySQL Administrator 1.0 目录下的 MySQLSystemTrayMonitor.exeQ这时会在Q务栏右侧出现一个图标。点?#8220;Start Instance”,q行MySQL?/div>
 
· 然后双击 D:\mysql-software\MySQL Administrator 1.0 目录中的 MySQLAdministrator.exeQ或者直接点M面右键菜单中?#8220;MySQL Administrator ”Q?/div>
 
· 创徏一个连接名Q可以随便填Q这里是“mxj”Q用户名QrootQ密码空着。这是因为mysql默认有一个没有密码的root帐号。点?#8220;OK”Q出现管理窗口:
q没什么好说的Q英文也很简单。只谈谈上面N的两项?/div>
 
?更改密码
好了Q我的root帐号的密码设|ؓQjavamxj   最后,点击“Apply Change”?/div>
 
?初始的数据库
  上图可以看到Q初始有两个数据库,mysql库中含有各种配置信息Q不要在q个库中q行表操作?/div>
test库初始是I的?em>另外Q徏立表Ӟ不要和mysql库中的表名取名相同,以免冲突?/div>
 
 
?数据创徏与查询(D谈字W编码)
 
·现在来到查询览器,q是叛_右下?#8220;MySQL System Tray Monitor”图标Q从中选择“MySQL Query Browser”Q因为已l更改过root的密码,所以要填入新密码?/div>
 
· q入ȝ面,叛_test数据库,创徏一个新表?/div>
 
 
·  如下单创Z个表
 
· 切换?#8220;Table Options”Q?/div>
   如果了解数据库的话,q些应该是很熟悉的,不多说了。注意字W设|默认是“Latin1”Q保存改变,再次切换到这一栏,p看到了)?/div>
 
· 填入一些测试数据:
 
 
· 关闭“MySQL Query Browser”Q再重新打开它,切换到testtable表,看到了没有?刚才输入的中文变成了“Q?Q?Q?”Qؓ什么呢Q?再次切换?#8220;Table Options”Q?/div>
 知道Z么了吧,原来默认字符?#8220;latin1”Q因为MySQL是瑞怸家公司的产品。中国h看来要努力了Q?/div>
 
 
?解决ҎQ?/div>
 
· 停止MySql服务Q关闭所有与MySql相关的程序,打开Windows的系l安装目?/strong>下的 my.ini 文gQ如下修改:
E:\WINDOWS\my.ini
[WinMySQLAdmin]
   Server=D:/mysql/bin/mysqld-nt.exe
  
[mysqld]
   basedir=D:/mysql
   datadir=D:/mysql-data/data
   default-character-set=gbk
  
[client]
   default-character-set=gbk
d的两条语句的含义是在客户端和服务端都使用GBK字符集进行编码?/div>
 
保存后,重新Ȁz?MySql 服务Q打开“MySQL Query Browser”Q再ơ创Z个表Q输入中文,一切OKQ?/div>
 
 
 
 
后记  
 
   关于在DOS端如何用命o行进?MySQL 的操作,q里׃谈了Q网上这斚w的资料很多。图形界面进?MySQL 操作的Y件还有很多,不过大多数是需要破费的。自q着用吧?/div>
   至于 mysql-connector-java-3.0.16-ga.zip q个文gQ在以后开?EJB 的时候会用到的,到时再说?/div>




黎夕 2007-04-06 15:47 发表评论
]]>InnoDB 表的限制http://www.tkk7.com/gm_jing/articles/64323.html黎夕黎夕Fri, 18 Aug 2006 05:48:00 GMThttp://www.tkk7.com/gm_jing/articles/64323.htmlhttp://www.tkk7.com/gm_jing/comments/64323.htmlhttp://www.tkk7.com/gm_jing/articles/64323.html#Feedback0http://www.tkk7.com/gm_jing/comments/commentRss/64323.htmlhttp://www.tkk7.com/gm_jing/services/trackbacks/64323.html ?< 3.23.50 版本?InnoDB 中,不可以?ALTER TABLE ?CREATE INDEX 来修改一个已l有了外键约束或参考了外键U束的表。?DROP TABLE ?CREATE TABLE 来代替它?/font>
  • 不可以将 MySQL pȝ??'user' ?'host' )转换?InnoDB cd。系l表必须L?MyISAM cd的?/font>
  • InnoDB 表不支持全文搜烦(fulltext search)?
  • MySQL 以自动提交模?autocommit mode)执行复制(replication)。因此slave中的 consistent reads 可能看v来你部分处理q的事务Q所以在 slave 中这U读?read)q不是真正的 consistent 。这个限制在 3.23.52 不再存在?/font>
  • InnoDB 在内部不保存一个表记录LQ这是由?multiversioning 的原因它实现有点复杂?/font> Z响应一个查?SELECT COUNT(*) FROM T QInnoDB 不得不扫描表的一个烦引,如果表没有完全在~冲池中q将p一些时间?Z得到更快的计C不得不用自己创Z个计数表Q让你的应用E序在插入与删除时自己更新它?消除因锁{待引v的瓶颈的一个方法就是创建整体的计数器集。应用程序可以随机地每次选择一个?Z得到计数Q仅仅只要对计数器求和:SELECT SUM(counter_column) FROM your_counter_table?
  • 表中?auto-increment 列的必须为它定义一个键Q这个键必须仅仅包含q个 auto-increment 列。InnoDB 不支持在一?CREATE TABLE 语句中?AUTO_INCREMENT=... 。这个子句是Zl一?auto-increment 列设|第一个?默认的第一个gؓ 1)。工作区(Workaround)Q向自增列中插入一个指定的值做为第一个倹{从此,InnoDB 从q值开始增加?/font>
  • SHOW TABLE STATUS 不能l出 InnoDB 表的_֯l计数据Q除了由表保留的物理大小之外。记录行数只能通过一个优化的 SQL 来获得大致的估计?/font>
  • ?MySQL 中复?replication)中,load table from master 仍然不能?InnoDB 表中工作?在主(master)服务器中开设一个工作区(workaround )用于表转换?MyISAM 型,然后再进?loadQ之后再?master 中将表改?InnoDB cd?/font>
  • 如果以一个列的前面部分徏立烦引:
    						
    								CREATE TABLE T (A CHAR(20), B INT, INDEX T_IND (A(5))) TYPE = InnoDB;
    						
    				
    InnoDB 内在的在整个列上徏立一个烦引,而不是仅以设定的首部分?/font>
  • InnoDB 表不支持 INSERT DELAYED ?/font>
  • MySQL ?LOCK TABLES 操作无法知道一?SQL 语句已完成对 InnoDB 的行锁定Q这意味着即已有其它用户的事务在同一张表上设|了行锁Q你仍然会锁定该表?所以你在这张表上的操作与其它用L锁定冲突则不得不{待。同h锁也是可能的。无论如何, q能事务完整?transaction integrity)q不危险Q因?InnoDB 讄的行U锁定通常会照֮整?integrity)的。同P一个表U锁定可以防止其它事务在表上获得更多的行U锁?锁定模式不一??/font>
  • ?BLOB ?TEXT 字段上无法设|烦引?/font>
  • 一张表不可以有过 1000 个字Dc?
  • DELETE FROM TABLE 除了删除所有记录行之外不再重徏表,一个接一个地删除Q这q不那么快。在来?MySQL 版本中可以?TRUNCATE Q这是相当快的?/font>
  • ?<= 3.23.43 ?InnoDB 中,在对 InnoDB 表调?DROP DATABASE 之前Q必调?DROP TABLE 来移?drop) 个体?InnoDB 表。这个限制在 >= 3.23.44 的版本中不再存在?/font>
  • InnoDB 默认的数据库面大小?16 kB。通过重新~译源代码可以设|ؓ 8 kB ?64 kB。你必须?univ.i 中更?UNIV_PAGE_SIZE ?UNIV_PAGE_SIZE_SHIFT 。在版本 <= 3.23.39a ?InnoDB中,最大记录行长度为比数据库页面长度的一半稍点。从源释攄?3.23.39b (但是?/font> MySQL -Max 3.23.40 二进刉攄本中仍然没有)开始, BLOB ?TEXT 字段允许 < 4 GBQ整个行长度同样 < 4 GB。InnoDB 不在分开的页面中存储寸 <= 128 bytes 的字Dc在 InnoDB 通过长字段存储在分开的页面上修改记录后,剩余的记录行长度必须于数据库页面的一半。最大键长ؓ 500 bytes?
  • 日志文g的d寸必?font face="Verdana, Arial, Helvetica, sans-serif"> < 4 GB?
  • 最大表I间寸为数据库面?4 十亿(billion)倍。这同样也是一个表的最大尺寸。最表I间?10 MB?/font>


  • 黎夕 2006-08-18 13:48 发表评论
    ]]>
    Mysql开发中的外键与参照完整?/title><link>http://www.tkk7.com/gm_jing/articles/64322.html</link><dc:creator>黎夕</dc:creator><author>黎夕</author><pubDate>Fri, 18 Aug 2006 05:45:00 GMT</pubDate><guid>http://www.tkk7.com/gm_jing/articles/64322.html</guid><wfw:comment>http://www.tkk7.com/gm_jing/comments/64322.html</wfw:comment><comments>http://www.tkk7.com/gm_jing/articles/64322.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/gm_jing/comments/commentRss/64322.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/gm_jing/services/trackbacks/64322.html</trackback:ping><description><![CDATA[ <table cellspacing="0" cellpadding="0" width="98%" border="0"> <tbody> <tr> <td class="title_td"> <font size="3"> <strong>Mysql开发中的外键与参照完整?/strong> </font> </td> </tr> </tbody> </table> <table cellspacing="0" cellpadding="0" width="98%" border="0"> <tbody> <tr> <td height="6"> </td> </tr> </tbody> </table> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td align="middle"> <table cellspacing="0" cellpadding="0" width="548" border="0"> <tbody> <tr> <td align="middle" colspan="4"> <div align="center">[ 作?  加入旉:2006-06-24 12:31:18  来自: ]</div> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <table cellspacing="0" cellpadding="0" width="548" border="0"> <tbody> <tr> <td background="/images/title_line.gif" height="3"> </td> </tr> </tbody> </table> <table cellspacing="0" cellpadding="0" width="548" border="0"> <tbody> <tr> <td height="12"> </td> </tr> </tbody> </table> <table cellspacing="0" cellpadding="0" width="548" border="0"> <tbody> <tr> <td width="8"> </td> <td> <font class="f14" id="zoom"> <font color="#000000"> <p>参照完整?Referential integrity)是数据库设计中一个重要的概念。在pȝ不同的列表中Q当数据库所有参照合法或非合法关联时都会涉及到参照完整性。当参照完整性存在时QQ何与不存在记录的兌变得无效化Q由此可防止用户出现各种错误Q从而提供更为准和实用的数据库?</p> <p>参照完整性通常通过外键(foreign key)的用而被q泛应用。长久以来,行工具开源RDBMS MySQLq没有支持外键,原因是这U支持将会降低RDBMS的速度和性能。然而,׃很多用户对参照完整性的优点倍感兴趣Q最qMySQL的不同版本都通过新InnoDB列表引擎支持外键。由此,在数据库l成的列表中保持参照完整性将变得非常单?</p> <p>Z建立两个MySQL表之间的一个外键关p,必须满以下三种情况Q?</p> <p>两个表必LInnoDB表类型?</p> <p>使用在外键关pȝ域必Mؓ索引?Index)?</p> <p>使用在外键关pȝ域必M数据cd怼?</p> <p>例子是理解以上要点的最好方法。如表A所C,建立两个表,其中一个列出动物种cd相应的代?表名为:species)Q另一表列出动物园中的动物(表名为:zoo)。现在,我们想通过species兌q两个表Q所以我们只需要接受和保存zoo表中包含species表中的合法动物的入口到数据库中?</p> <p>表A </p> <p>mysql> CREATE TABLE species (id TINYINT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, PRIMARY KEY(id)) ENGINE=INNODB; </p> <p>Query OK, 0 rows affected (0.11 sec) </p> <p>mysql> INSERT INTO species VALUES (1, 'orangutan'), (2, 'elephant'), (3, 'hippopotamus'), (4, 'yak'); </p> <p>Query OK, 4 rows affected (0.06 sec) </p> <p>Records: 4 Duplicates: 0 Warnings: 0 </p> <p>mysql> CREATE TABLE zoo (id INT(4) NOT NULL, name VARCHAR(50) NOT NULL, FK_species TINYINT(4) NOT NULL, INDEX (FK_species), FOREIGN KEY (FK_species) REFERENCES species (id), PRIMARY KEY(id)) ENGINE=INNODB; </p> <p>注意:对于非InnoDB表, FOREIGN KEY 语句被忽略?</p> <p>现在Qfieldszoo.species与species.id 之间存在一个外键关pR只有相应的zoo.specie与species.idfield的一个值相匚wQ动物表中的入口才可被访问。以下的输出xCZ当你惌入一个Harry Hippopotamus记录Q而用到不合法的species代码Q?</p> <p>mysql> INSERT INTO zoo VALUES (1, 'Harry', 5); </p> <p>ERROR 1216 (23000): Cannot add or update a child row: a foreign key constraint fails </p> <p>q里QMySQL核查species表以查看species代码是否存在Q如果发C存在Q就拒绝该记录。当你输入正代码的Q可以与以上做比较?</p> <p>mysql> INSERT INTO zoo VALUES (1, 'Harry', 3); </p> <p>Query OK, 1 row affected (0.06 sec) </p> <p>q里QMySQL核查species表以查看species代码是否存在Q当发现存在Q允许记录保存在zoo表中?</p> <p>Z删除一个外键关p,首先使用SHOW CREATE TABLE扑ևInnoDB的内部标{,如表B所C: </p> <p>?B </p> <p>+-------+---------------------------------------------------+ </p> <p>| Table | Create Table | </p> <p>+-------+---------------------------------------------------+ </p> <p>| zoo | CREATE TABLE `zoo` ( </p> <p>`id` int(4) NOT NULL default '0', </p> <p>`name` varchar(50) NOT NULL default '', </p> <p>`FK_species` tinyint(4) NOT NULL default '0', </p> <p>KEY `FK_species` (`FK_species`), </p> <p>CONSTRAINT `zoo_ibfk_1` FOREIGN KEY (`FK_species`) </p> <p>REFERENCES `species` (`id`) </p> <p>) ENGINE=InnoDB DEFAULT CHARSET=latin1 | </p> <p>+-------+----------------------------------------------------+ </p> <p>然后使用带有DROP FOREIGN KEY 语句的ALTER TABLE命oQ如以下Q?</p> <p>mysql> ALTER TABLE zoo DROP FOREIGN KEY zoo_ibfk_1; </p> <p>Query OK, 1 row affected (0.11 sec) </p> <p>Records: 1 Duplicates: 0 Warnings: 0 </p> <p>Z一个外键添加到一个现成的表中Q用ADD FOREIGN KEY?ALTER TABLE语句指定合适的域作Z个外键: </p> <p>mysql> ALTER TABLE zoo ADD FOREIGN KEY (FK_species) REFERENCES species (id); </p> <p>Query OK, 1 rows affected (0.11 sec) </p> <p>Records: 1 Duplicates: 0 Warnings: 0 </p> <p>如以上例子解释的Q外键在捉摸数据入口错误上v着重要的作用,由此可徏立更为强健更加集成的数据库。另一斚w值得提到的是Q执行外键核实是内部资料处理的过E,且不同表之间指定复杂的内部关pd以导致数据库的性能下降。所以,在参照完整性与性能考虑之间扑ֈq点相当重要,而用外键就是能够确保性能与稳健之间的最优结合?/p> </font> </font> </td> </tr> </tbody> </table> <img src ="http://www.tkk7.com/gm_jing/aggbug/64322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/gm_jing/" target="_blank">黎夕</a> 2006-08-18 13:45 <a href="http://www.tkk7.com/gm_jing/articles/64322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySql常用命ohttp://www.tkk7.com/gm_jing/articles/64107.html黎夕黎夕Thu, 17 Aug 2006 05:57:00 GMThttp://www.tkk7.com/gm_jing/articles/64107.htmlhttp://www.tkk7.com/gm_jing/comments/64107.htmlhttp://www.tkk7.com/gm_jing/articles/64107.html#Feedback0http://www.tkk7.com/gm_jing/comments/commentRss/64107.htmlhttp://www.tkk7.com/gm_jing/services/trackbacks/64107.html有很多朋友虽然安装好了mysql但却不知如何使用它。在q篇文章中我们就从连接mysql?br _extended="true">修改密码、增加用L斚w来学习一些mysql的常用命令?/font>

    一、连接mysql?br _extended="true">格式Q?mysql -hL地址 -u用户?Qp用户密码
    1??Q连接到本机上的mysql?br _extended="true">首先在打开DOSH口Q然后进入目录mysqlMinQ再键入命omysql -uroot -pQ??br _extended="true">车后提示你输密码Q如果刚安装好mysqlQ超U用户root是没有密码的Q故直接?br _extended="true">车即可进入到mysql中了Qmysql的提C符是:mysql>
    2、例2Q连接到q程L上的mysql。假设远E主机的IP为:110.110.110.110Q用?br _extended="true">名ؓroot,密码为abcd123。则键入以下命oQ?br _extended="true">mysql -h110.110.110.110 -uroot -pabcd123
    Q注:u与root可以不用加空|其它也一P
    3?退出mysql命oQexitQ回车)

    二、修改密码?br _extended="true">格式Qmysqladmin -u用户?-p旧密?password 新密?br _extended="true">1、例1Q给root加个密码ab12。首先在DOS下进入目录mysqlbinQ然后键入以下命?br _extended="true">mysqladmin -uroot password ab12
    注:因ؓ开始时root没有密码Q所?p旧密码一就可以省略了?br _extended="true">2??Q再root的密码改为djg345?br _extended="true">mysqladmin -uroot -pab12 password djg345
    另一U方法:
    shell>mysql -u root -p
    mysql>SET PASSWORD FOR root=PASSWORD("root");

    三、增加新用户。(注意Q和上面不同Q下面的因ؓ是mysql环境中的命oQ所以后面都?br _extended="true">一个分号作为命令结束符Q?br _extended="true">格式Qgrant select on 数据?* to 用户名@dL identified by "密码"
    ?、增加一个用户test1密码为abcQ让他可以在ML上登录,q对所有数据库?br _extended="true">查询、插入、修攏V删除的权限。首先用以root用户q入mysqlQ然后键入以下命
    令:
    grant select,insert,update,delete on *.* to test1@"%" Identified
    by "abc";
    但例1增加的用h十分危险的,你想如某个h知道test1的密码,那么他就可以?br _extended="true">internet上的M一台电脑上d你的mysql数据库ƈ对你的数据可以ؓ所Ʋؓ了,
    解决办法见例2?br _extended="true">?、增加一个用户test2密码为abc,让其只可以在localhost上登录,q可以对数据?br _extended="true">mydbq行查询、插入、修攏V删除的操作Qlocalhost指本C机,即mysql数据
    库所在的那台LQ,q样用户即用知道test2的密码,也无法从internet上直
    接访问数据库Q只能通过mysqlL上的web|讉K了?br _extended="true">grant select,insert,update,delete on mydb.* to test2@localhost
    identified by "abc";
    如果你不想test2有密码,可以再打一个命令将密码消掉?br _extended="true">grant select,insert,update,delete on mydb.* to test2@localhost
    identified by "";


    有关数据库方面的操作。注意:你必首先登录到mysql中,以下操作都是在mysql的提
    C符下进行的Q而且每个命o以分L束?/font>

    一、操作技?br _extended="true">1、如果你打命令时Q回车后发现忘记加分P你无重打一遍命令,只要打个分号?br _extended="true">车就可以了。也是说你可以把一个完整的命o分成几行来打Q完后用分号作结?br _extended="true">标志OK?/p>


    二、显C命?br _extended="true">1?昄数据库列表?br _extended="true">show databases;
    刚开始时才两个数据库Qmysql和test?mysql库很重要它里面有mysql的系l信息,
    我们改密码和新增用户Q实际上是用这个库q行操作?br _extended="true">2?昄库中的数据表Q?br _extended="true">use mysqlQ?Q/打开库,学过FOXBASE的一定不会陌生吧
    show tables;
    3?昄数据表的l构Q?br _extended="true">describe 表名;
    4?建库Q?br _extended="true">create database 库名;
    5?Q?br _extended="true">use 库名Q?br _extended="true">create table 表名(字段讑֮列表)Q?br _extended="true">6?删库和删?
    drop database 库名;
    drop table 表名Q?br _extended="true">7?表中记录清I:
    delete from 表名;
    8?昄表中的记录:
    select * from 表名;

    三、一个徏库和以及插入数据的实?br _extended="true">drop database if exists school; //如果存在SCHOOL则删?br _extended="true">create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
    id int(3) auto_increment not null primary key,
    name char(10) not null,
    address varchar(50) default '深圳',
    year date
    ); //l束
    //以下为插入字D?br _extended="true">insert into teacher values('','glchengang','深圳一?,'1976-10-10');
    insert into teacher values('','jack','深圳一?,'1975-12-23');

    注:在徏表中
    (1) ID设ؓ长度?的数字字D?int(3)Qƈ让它每个记录自动加一: auto_incrementQ?br _extended="true">q不能ؓI?not nullQ而且让它成ؓdDprimary key
    (2) NAME设ؓ长度?0的字W字D?br _extended="true">(3) ADDRESS设ؓ长度50的字W字D,而且~省gؓ深圳。varchar和char有什么区?br _extended="true">呢,只有{以后的文章再说了?br _extended="true">(4) YEAR设ؓ日期字段?br _extended="true">如果你在mysql提示W键入上面的命o也可以,但不方便调试。你可以以上命?br _extended="true">原样写入一个文本文件中假设为school.sqlQ然后复制到c:下,q在DOS状态进入目?br _extended="true">mysqlinQ然后键入以下命令:
    mysql -uroot -p密码 < c:school.sql
    如果成功Q空Z行无M昄Q如有错误,会有提示。(以上命o已经调试Q你
    只要?/的注释去掉即可用)?/p>

    四、将文本数据转到数据库中
    1、文本数据应W合的格式:字段数据之间用tab键隔开Qnull值用来代ѝ例Q?br _extended="true">3 rose 深圳二中 1976-10-10
    4 mike 深圳一?1975-12-23
    2?数据传入命oload data local infile "文g? into table 表名;
    注意Q你最好将文g复制到mysqlin目录下,q且要先用use命o选表所在的库?/p>

    五、导出和导入数据Q?命o在DOS的mysqlin目录下执?
    导出?br _extended="true">mysqldump --opt school > school.sql
    注释Q将数据库school中的表全部备份到school.sql文gQschool.sql是一个文本文Ӟ
    文g名Q取,打开看看你会有新发现?br _extended="true">mysqldump --opt school teacher student > school.teacher.student.sql
    注释Q将数据库school中的teacher表和student表备份到school.teacher.student.sql?br _extended="true">Ӟschool.teacher.student.sql是一个文本文Ӟ文g名Q取,打开看看你会有新发现?/p>

    导入?br _extended="true">mysql
    mysql>create database school;
    mysql>use school;
    mysql>source school.sql;
    (或将school.sql换ؓschool.teacher.sql / school.teacher.student.sql)

    导出数据?br _extended="true">mysqldump --databases db1 db2 > db1.db2.sql
    注释Q将数据库dbl和db2备䆾到db1.db2.sql文gQdb1.db2.sql是一个文本文Ӟ文g?br _extended="true">dQ打开看看你会有新发现?br _extended="true">(举个例子Q?br _extended="true">mysqldump -h host -u user -p pass --databases dbname > file.dump
    是把host上的以名字userQ口令pass的数据库dbname导入到文件file.dump中?

    导入数据?br _extended="true">mysql < db1.db2.sql

    复制数据?br _extended="true">mysqldump --all-databases > all-databases.sql
    注释Q将所有数据库备䆾到all-databases.sql文gQall-databases.sql是一个文本文Ӟ
    文g名Q取?/p>

    导入数据?br _extended="true">mysql
    mysql>drop database a;
    mysql>drop database b;
    mysql>drop database c;
    ...
    mysql>source all-databases.sql; (或exit退出mysql?mysql < all-databases.sql)

    后记Q?br _extended="true">其实mysql的对数据库的操作与其它的SQLcL据库大同异Q您最好找本将SQL的书?br _extended="true">看。我在这里只介绍一些基本的Q其实我也就只懂q些了,呵呵?br _extended="true">最好的mysql教程q是"晏子"译的"mysql中文参考手?。不仅免费,每个相关|站都有
    下蝲Q而且它是最权威的。可惜不?PHP4中文手册"那样是chm的格式,在查扑և数命令的
    时候不太方ѝ?/p>

    3.打开数据库:use dbnameQ?br _extended="true">昄所有数据库Qshow databases;
    昄数据库mysql中所有的表:先use mysqlQ然后show tables;
    昄表的列信息:describe user;(昄表mysql数据库中user表的信息Q;

    4.创徏一个可以从M地方q接服务器的一个完全的用户Q但是必M用一个口令something做这?br _extended="true">GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
    GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

    5.删除授权Q?br _extended="true">REVOKE ALL PRIVILEGES ON *.* FROM root@"%";
    USE mysql;
    DELETE FROM user WHERE User="root" and Host="%";
    FLUSH PRIVILEGES;

    6. 创徏一个用户custom在特定客Lweiqiong.comdQ可讉K特定数据库bankaccount
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON bankaccount.*
    TO custom@weiqiong.com IDENTIFIED BY 'stupid';

    7.重命名表:
    ALTER TABLE t1 RENAME t2;

    Z改变列aQ从INTEGER改ؓTINYINT NOT NULL(名字一?Q?br _extended="true">q且改变列bQ从CHAR(10)改ؓCHAR(20)Q同旉命名它,从b改ؓc:
    ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

    增加一个新TIMESTAMP列,名ؓdQ?br _extended="true">ALTER TABLE t2 ADD d TIMESTAMP;

    在列d上增加一个烦引,q且使列aZ键:
    ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

    删除列cQ?br _extended="true">ALTER TABLE t2 DROP COLUMN c;

    增加一个新的AUTO_INCREMENT整数列,命名为cQ?br _extended="true">ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
    注意Q我们烦引了cQ因为AUTO_INCREMENT柱必被索引Qƈ且另外我们声明c为NOT NULLQ?br _extended="true">因ؓ索引了的列不能是NULL?/p>

    8.删除记录:
    DELETE FROM t1 WHERE C>10;

    6.改变某几?
    UPDATE t1 SET user=weiqiong,password=weiqiong;

    7.使用name列的?0个字W创Z个烦?
    CREATE INDEX part_of_name ON customer (name(10));



    黎夕 2006-08-17 13:57 发表评论
    ]]>
    MySQL服务l护W记http://www.tkk7.com/gm_jing/articles/60484.html黎夕黎夕Fri, 28 Jul 2006 02:00:00 GMThttp://www.tkk7.com/gm_jing/articles/60484.htmlhttp://www.tkk7.com/gm_jing/comments/60484.htmlhttp://www.tkk7.com/gm_jing/articles/60484.html#Feedback0http://www.tkk7.com/gm_jing/comments/commentRss/60484.htmlhttp://www.tkk7.com/gm_jing/services/trackbacks/60484.htmlMySQL服务l护W记                                      

    转自Q?a >http://www.chedong.com/tech/mysql.html

    作者: 车东 Email: chedongATbigfoot.com/chedongATchedong.com

    内容摘要Q用MySQL服务的一些经验,主要从以下几个方面考虑的MySQL服务规划设计。对于高负蝲站点来说PHP和MySQLq行在一P或者说M应用和数据库q行在一L规划Q都是性能最大的瓉Q这L设计有如让h一手画圆一手画方,q样2个h的工作效率肯定不如让一个h专门d一个h专门L效率高,让应用和数据库都跑在一台高性能服务器上说不定还不如跑在2台普通服务器上快?br />

    以下是针对MySQL作ؓ专门的数据库服务器的优化Q?/p>

    1. MySQL服务的安?配置的通用性;
    2. pȝ的升U和数据q移方便性;
    3. 备䆾和系l快速恢复;
    4. 数据库应用的设计要点Q?
    5. 一ơ应用优化实战;

    MySQL服务器的规划
    =================
    Z以后l护Q升U备份的方便和数据的安全性,最好将MySQLE序文g和数据分别安装在“不同的g”上?br />

             /   / 
    | /usr <== 操作pȝ
    | /home/mysql <== mysqlȝ录,Z方便升Q这只是一个最新版本目录的链接
    盘1==>| /home/mysql-3.23.54/ <== 最新版本的mysql /home/mysql链接到这?br /> \ /home/mysql-old/ <== 以前q行的旧版本的mysql

    / /data/app_1/ <== 应用数据和启动脚本等
    盘2==>| /data/app_2/
    \ /data/app_3/


    MySQL服务的安装和服务的启动:
    MySQL一般用当前STABLE的版本:
    量不?-with-charset=选项Q我感觉with-charset只在按字母排序的时候才有用Q这些选项会对数据的迁Ud来很多麻烦?br />量不用innodbQinnodb主要用于需要外键,事务{企业支持Q代h速度比MYISAM有数量的下降?br />./configure --prefix=/home/mysql --without-innodb
    make
    make install

    服务的启动和停止
    ================
    1 复制~省的mysql/var/mysql?/data/app_1/目录下,
    2 MySQLD的启动脚本:start_mysql.sh
    #!/bin/sh
    rundir=`dirname "$0"`
    echo "$rundir"
    /home/mysql/bin/safe_mysqld --user=mysql --pid-file="$rundir"/mysql.pid --datadir="$rundir"/var "$@"\
    -O max_connections=500 -O wait_timeout=600 -O key_buffer=32M --port=3402 --socket="$rundir"/mysql.sock &

    注释Q?br />--pid-file="$rundir"/mysql.pid --socket="$rundir"/mysql.sock --datadir="$rundir"/var
    目的都是相应数据和应用临时文g攑֜一P
    -O 后面一般是服务器启动全局变量优化参数Q有时候需要根据具体应用调_
    --port: 不同的应用用PORT参数分布C同的服务上去Q一个服务可以提供的q接C般是MySQL服务的主要瓶颈;

    修改不同的服务到不同的端口后Q在rc.local文g中加入:
    /data/app_1/start_mysql.sh
    /data/app_2/start_mysql.sh
    /data/app_3/start_mysql.sh
    注意Q必d全\?br />
    3 MySQLD的停止脚本:stop_mysql.sh
    #!/bin/sh
    rundir=`dirname "$0"`
    echo "$rundir"
    /home/mysql/bin/mysqladmin -u mysql -S"$rundir"/mysql.sock shutdown

    使用q个脚本的好处在于:
    1 多个服务启动Q对于不同服务只需要修改脚本中?-port[=端口号]参数。单个目录下的数据和服务脚本都是可以独立打包的?br />2 所有服务相应文仉位于/data/app_1/目录下:比如Qmysql.pid mysql.sockQ当一台服务器上启动多个服务时Q多个服务不会互相媄响。但都放到缺省的/tmp/下则有可能被其他应用误删?br />3 当硬?出问题以后,直接硬?攑ֈ一台装好MySQL的服务器上就可以立刻恢复服务Q如果放到my.cnf里则q需要备份相应的配置文gQ?

    服务启动?data/app_1/下相应的文g和目录分布如下:
    /data/app_1/
        start_mysql.sh 服务启动脚本
        stop_mysql.sh 服务停止脚本
        mysql.pid 服务的进EID
        mysql.sock 服务的SOCK
        var/ 数据?br />       mysql/ 用户?br />       app_1_db_1/ 应用?br />       app_1_db_2/
    ...
    /data/app_2/
    ...

    查看所有的应用q程IDQ?br />cat /data/*/mysql.pid

    查看所有数据库的错误日志:
    cat /data/*/var/*.err

    个hQMySQL的主要瓶颈在PORT的连接数上,因此Q将表结构优化好以后Q相应单个MySQL服务的CPU占用仍然?0Q以上,p考虑服务拆分到多个PORT上运行了?/p>

    服务的备?br />==========
    量使用MySQL DUMP而不是直接备份数据文Ӟ以下是一个按weekday数据轮循备份的脚本Q备份的间隔和周期可以根据备份的需求确?br />/home/mysql/bin/mysqldump -S/data/app_1/mysql.sock -umysql db_name | gzip -f>/path/to/backup/db_name.`data +%w`.dump.gz
    因此写在CRONTAB中一般是Q?br />15 4 * * * /home/mysql/bin/mysqldump -S/data/app_1/mysql.sock -umysql db_name | gzip -f>/path/to/backup/db_name.`data +\%w`.dump.gz
    注意Q?br />1 在crontab?%'需要{义成'\%'
    2 Ҏ日志l计Q应用负载最低的时候一般是在早?-6?br />

    先备份在本地然后传到q程的备份服务器上,或者直接徏立一个数据库备䆾帐号Q直接在q程的服务器上备份,q程备䆾只需要将以上脚本中的-S /path/to/msyql.sockҎ-h IP.ADDRESS卛_?br />
    数据的恢复和pȝ的升U?br />======================
    日常l护和数据迁U:在数据盘没有被破坏的情况?br />盘一般是pȝ中寿命最低的g。而系l(包括操作pȝ和MySQL应用Q的升和硬件升U,都会遇到数据q移的问题?br />只要数据不变Q先装好服务器,然后直接数据盘Q硬?Q安装上Q只需要将启动脚本重新加入到rc.local文g中,pȝq是很好的恢复了?br />
    N恢复Q数据库数据本n被破坏的情况?br />定破坏的时间点Q然后从备䆾数据中恢复?/p>

    应用的设计要?br />==============
    如果MySQL应用占用的CPU过10%应该考虑优化了?br />

    1. 如果q个服务可以被其他非数据库应用代替(比如很多Z数据库的计数器完全可以用WEB日志l计代替Q最好将其禁用:
      非用数据库不可吗Q虽然数据库的确可以化很多应用的l构设计Q但本n也是一个系l资源消耗比较大的应用。在某些情况下文本,DBM比数据库是更好的选择Q比如:很多应用如果没有很高的实时统计需求的话,完全可以先记录到文g日志中,定期的导入到数据库中做后l统计分析。如果还是需要记录简单的2l键Q值对应结构的话可以用类gDBM的HEAPcd表。因为HEAP表全部在内存中存取,效率非常高,但服务器H然断电时有可能出现数据丢失Q所以非帔R合存储在线用户信息Q日志等临时数据。即佉K要用数据库的,应用如果没有太复杂的数据完整性需求的化,完全可以不用那些支持外键的商业数据库,比如MySQL。只有非帔R要完整的商业逻辑和事务完整性的时候才需要Oracleq样的大型数据库。对于高负蝲应用来说完全可以把日志文ӞDBMQMySQL{轻量方式做前端数据采集格式,然后用Oracle MSSQL DB2 Sybase{做数据库仓库以完成复杂的数据库挖掘分析工作?br />有朋友和我说用标准的MyISAM表代替了InnoDB表以后,数据库性能提高?0倍?br />
    2. 数据库服务的主要瓉Q单个服务的q接?br />对于一个应用来_如果数据库表l构的设计能够按照数据库原理的范式来设计的话Qƈ且已l用了最新版本的MySQLQƈ且按照比较优化的方式q行了,那么最后的主要瓉一般在于单个服务的q接敎ͼ即一个数据库可以支持q发500个连接,最好也不要把应用用到这个地步,因ؓq发q接数过多数据库服务本n用于调度的线E的开销也会非常大了。所以如果应用允许的话:让一台机器多跑几个MySQL服务分担。将服务均衡的规划到多个MySQL服务端口上:比如app_1 ==> 3301 app_2 ==> 3302...app_9 ==> 3309。一?G内存的机器跑?0个MySQL是很正常的。让10个MySQLD承担1000个ƈ发连接效率要比让2个MySQLD承担1000个效率高的多。当Ӟq样也会带来一些应用编E上的复杂度Q?br />
    3. 使用单独的数据库服务器(不要让数据库和前台WEB服务抢内存)QMySQL拥有更多的内存就可能能有效的q行l果集的~存Q在前面的启动脚本中有一?O key_buffer=32M参数是用于缺省的8M索引~存增加?2MQ当然对于)

    4. 应用量使用PCONNECT和polling机制Q用于节省MySQL服务建立q接的开销Q但也会造成MySQLq发链接数过多(每个HTTPD都会对应一个MySQLU程Q;

    5. 表的横向拆分Q让最常被讉K?0%的数据放在一个小表里Q?0%的历史数据放在一个归档表里(所谓:快慢表)Q数据中间通过定期“搬家”和定期删除无效数据来节省,毕竟大部分应用(比如论坛Q访?个月前数据的几率会非常少Q而且价g不是很高。这样对于应用来说L在一个比较小的结果中进行数据选择Q比较有利于数据的缓存,不要指望MySQL中对单表记录条数?0万以上q有比较高的效率。而且有时候数据没有必要做那么_Q比如一个快表中查到了某个h发表的文章有60条结果,快表和慢表的比例?:20Q那么就可以单的估计q个Z共发表了1200。Google的搜索结果数也是一P对于很多上十万的l果敎ͼ后面很多的数字都是通过一定的法估计出来的?br />
    6. 数据库字D设计:表的U向拆分Q过渡范化)Q将所有的定长字段Qchar, int{)攑֜一个表里,所有的变长字段Qvarchar,text,blob{)攑֜另外一个表里,2个表之间通过主键兌Q这P定长字段表可以得到很大的优化Q这样可以用HEAP表类型,数据完全在内存中存取Q,q里也说明另外一个原则,对于我们来说Q尽量用定长字D可以通过I间的损失换取访问效率的提高。在MySQL4中也出现了支持外键和事务的InnoDBcd表,标准的MyISAM格式表和ZHASHl构的HEAP内存表,MySQL之所以支持多U表cdQ实际上是针对不同应用提供了不同的优化方式;

    7. 仔细的检查应用的索引设计Q可以在服务启动参数中加?--log-slow-queries[=file]用于跟踪分析应用瓉Q对于跟t服务瓶颈最单的Ҏ是用MySQL的status查看MySQL服务的运行统计和show processlist来查看当前服务中正在q行的SQLQ如果某个SQLl常出现在PROCESS LIST中,一。有可能被查询的此时非常多,二,里面有媄响查询的字段没有索引Q三Q返回的l果数过多数据库正在排序QSORTINGQ;所以做一个脚本:比如?U运行以下show processlist;把结果输出到文g中,看到底是什么查询在吃CPU?br />
    8. 全文索:如果相应字段没有做全文烦引的话,全文索将是一个非常消耗CPU的功能,因ؓ全文索是用不上一般数据库的烦引的Q所以要q行相应字段记录遍历。关于全文烦引可以参考一下基?a >Java的全文烦引引擎lucene的介l?/a>?br />
    9. 前台应用的记录缓存:比如一个经怋用数据库认证Q如果需要有更新用户最后登陆时间的操作Q最好记录更新后把用户攑ֈ一个缓存中Q设|?个小时后q期Q,q样如果用户?个小时内再次使用到登陆,q接从~存里认证,避免了过于频J的数据库操作?br />
    10. 查询优先的表应该可能ؓwhere和order by字句中的字段加上索引Q数据库更新插入优先的应用烦引越越好?br />

    MQ对于Q何数据库单表记录过100万条优化都是比较困难的,关键是要把应用能够{化成数据库比较擅长的数据上限内。也是把复杂需求简化成比较成熟的解x案内?/p>

    一ơ优化实?br />============
    以下例子是对一个论坛应用进行的优化Q?br />

    1. 用Webalizer代替了原来的通过数据库的l计?br />
    2. 首先通过TOP命o查看MySQL服务的CPU占用左右80%和内存占用:10MQ说明数据库的烦引缓存已l用完了Q修改启动参敎ͼ增加?O key_buffer=32MQ过一D|间等数据库稳定后看的内存占用是否辑ֈ上限。最后将~存一直增加到64MQ数据库~存才基本能充分使用。对于一个数据库应用来说Q把内存l数据库比给WEB服务实用的多Q因为MySQL查询速度的提高能加快web应用从而节省ƈ发的WEB服务所占用的内存资源?br />
    3. 用show processlist;l计l常出现的SQLQ?br />
      每分钟运行一ơshow processlistq记录日志:
      * * * * * (/home/mysql/bin/mysql -uuser -ppassword < /home/chedong/show_processlist.sql >>  /home/chedong/mysql_processlist.log)

      show_processlist.sql里就一句:
      show processlist;

      比如可以从日志中包含where的字句过滤出来:
      grep where mysql_processlist.log
      如果发现有死锁,一定要重新审视一下数据库设计了,对于一般情况:查询速度很慢Q就SQL where字句中没有烦引的字段加上索引Q如果是排序慢就order by字句中没有烦引的字段加上。对于有%like%的查询,考虑以后用和用全文烦引加速?br />
    4. q是Ҏshow processlist;看经常有那些数据库被频繁使用Q考虑数据库拆分到其他服务端口上?

    MSSQL到MySQL的数据迁U:ACCESSQMySQL ODBC Driver

    在以前的几次数据q移实践q程中,我发现最便的数据q移q程q不是通过专业的数据库q移工具Q也不是MSSQL自n的DTSq行数据q移Q迁U过E中间会有很多表出错误警告)Q但通过MSSQL数据库通过ACCESS获取外部数据导入到数据库中,然后用ACCESS的表==>右键==>导出Q制定ODBCQ通过MySQL的DSN数据导出。这栯Ud部分数据都会非常利Q如果导出的表有索引问题Q还会出d索引提示QDTS׃行)Q然后剩余的工作是在MySQL中设计字D对应的SQL脚本了?/p>

    黎夕 2006-07-28 10:00 发表评论
    ]]>
    վ֩ģ壺 | 99ŮŮѾƷƵ߹ۿ| ڵƵ| 2017һ| òƵѸ| ɫ18վWWW߲| ҹƵѹۿ| Ƶվ| ޾aaվ| һƬaѲſ| ۺպĻv| 8xվ߹ۿ| ޹av߲| AAѹۿ1000Ӱ| a뾫Ʒɫҹ| wwwһƵcom| Ӱ߹ۿ| þۺɫһ| +ɫ++| ˾ҹƵѹ| ŷAۺһ| þݹѹۿ| ޳aƬ߿| һַ| þѾƵ| ҹþ| gv޹gvո| 9420ѸƵ| ޱavӲʵ| ˳վۿ߲| 97Ƶѹۿ| þAVӰ| ۺϾƷ㽶þ| 97Ƶ| һػɫƬ| ۺһƷ| ձ˳ɻҳۿƵ | Ůڵվ| Ƭ| AV߹ۿ| ޳avѿ|