??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲人成日本在线观看,亚洲视屏在线观看,国产成A人亚洲精V品无码性色http://www.tkk7.com/lyjjq/category/19931.html我喜Ƣjava新东西zh-cnThu, 31 Jul 2014 19:19:06 GMTThu, 31 Jul 2014 19:19:06 GMT60析MySql二进制日志的应用http://www.tkk7.com/lyjjq/articles/403994.html强强强强Thu, 12 Sep 2013 07:03:00 GMThttp://www.tkk7.com/lyjjq/articles/403994.htmlhttp://www.tkk7.com/lyjjq/comments/403994.htmlhttp://www.tkk7.com/lyjjq/articles/403994.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/403994.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/403994.html阅读全文

强强 2013-09-12 15:03 发表评论
]]>
~小mysql数据库的ibdata1文ghttp://www.tkk7.com/lyjjq/articles/403993.html强强强强Thu, 12 Sep 2013 07:02:00 GMThttp://www.tkk7.com/lyjjq/articles/403993.htmlhttp://www.tkk7.com/lyjjq/comments/403993.htmlhttp://www.tkk7.com/lyjjq/articles/403993.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/403993.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/403993.htmlibdata1是mysql使用InnoDB引擎的时候需要用的文g。这个文件有的时候会(x)变得很大Qƈ且在你删除数据的时候,文g也不减小。今天就到?jin)一ơ,D所有的/var分区都被占用光了(jin)?/div>
 

ibdata1是mysql使用InnoDB引擎的时候需要用的文g。这个文件有的时候会(x)变得很大Qƈ且在你删除数据的时候,文g也不减小。今天就到?jin)一ơ,D所有的/var分区都被占用光了(jin)?/p>

下面是处理超大ibddata1文g的步骤:(x)

1. Ҏ(gu)张表使用单独的innoDB文g, 修改/etc/my.cnf文g

[mysqld]

innodb_file_per_table

目的很明,我们可以单独删除每个文g

2. 导出所有的数据Q重建数据库Q然后恢复数据:(x)

# /usr/bin/mysqldump -R -q --all-databases > /temp/all.sql

# service mysqld stop

# rm -fr /var/lib/mysql/*

# /usr/bin/mysql_install_db

# service mysqld restart

# mysql < /tmp/all.sql

3. /var/lib/mysql的每个数据库下面Q都有会(x)很多?ibd文g。这些分散的.ibd文g取代?jin)原来的那个ibddata1?/p>

以后删除数据库的时候,直接删除某个数据库的目录可以了(jin)?/p>

————-华丽的分隔符————-

mysql 使用的引擎:(x)

mysql> show engines;

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

| Engine     | Support | Comment                                                        |

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

| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         |

| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      |

| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     |

| BerkeleyDB | YES     | Supports transactions and page-level locking                   |

| BLACKHOLE  | NO      | /dev/null storage engine (anything you write to it disappears) |

| EXAMPLE    | NO      | Example storage engine                                         |

| ARCHIVE    | NO      | Archive storage engine                                         |

| CSV        | NO      | CSV storage engine                                             |

| ndbcluster | NO      | Clustered, fault-tolerant, memory-based tables                 |

| FEDERATED  | NO      | Federated MySQL storage engine                                 |

| MRG_MYISAM | YES     | Collection of identicalMyISAM tables                          |

| ISAM       | NO      | Obsolete storage engine                                        |

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

12 rows in set (0.00 sec)

For InnoDB tables, OPTIMIZE TABLE is mapped to ALTER TABLE, which rebuilds the table to update index statistics and free unused space in the clustered index.

所以不?x)直接来减少ibdata的文件尺寸?/p>

减少ibdata的方法如?/p>

- 1. 用mysqldump{工具导出数?/p>

- 2. 停止 mysqld

- 3. 删除ibdata*, ib_logfile* 文g

- 4. 重新启动 mysqldQ这时mysqld׃(x)自动创徏 idbdata*, ib_logfile* 文gQ?/p>

- 5. 到出来的数据导回去Q体U才?x)减?/p>



强强 2013-09-12 15:02 发表评论
]]>
mysql 重启数据?/title><link>http://www.tkk7.com/lyjjq/articles/396820.html</link><dc:creator>强强</dc:creator><author>强强</author><pubDate>Thu, 21 Mar 2013 11:47:00 GMT</pubDate><guid>http://www.tkk7.com/lyjjq/articles/396820.html</guid><wfw:comment>http://www.tkk7.com/lyjjq/comments/396820.html</wfw:comment><comments>http://www.tkk7.com/lyjjq/articles/396820.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/lyjjq/comments/commentRss/396820.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/lyjjq/services/trackbacks/396820.html</trackback:ping><description><![CDATA[<div><div></div></div><div>/bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data<br /><br />查看当前mysql正在使用的参?br /><div>ps ax|grep mysql<br />停止数据库:(x)<br /><div> mysqladmin -uroot -p shutdown</div><div><br /> 讄自动清理MySQL binlog日志Q配|my.cnfQ?br /><br />expire_logs_days = 10<br /><br />在运行时修改Q?br /><br /><br />show binary logs;  <br />show variables like '%log%';  <br />set global expire_logs_days = 10;<br /><br /><br /><br />杨明 2014/7/30 10:51:47<br /><br />手动删除10天前的MySQL binlog日志Q?br /><br />PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY); <br />show master logs;<br /><br /><br /><br /><br /><br /><br /></div></div></div><img src ="http://www.tkk7.com/lyjjq/aggbug/396820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/lyjjq/" target="_blank">强强</a> 2013-03-21 19:47 <a href="http://www.tkk7.com/lyjjq/articles/396820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库链接参数配|?/title><link>http://www.tkk7.com/lyjjq/articles/394327.html</link><dc:creator>强强</dc:creator><author>强强</author><pubDate>Wed, 16 Jan 2013 14:23:00 GMT</pubDate><guid>http://www.tkk7.com/lyjjq/articles/394327.html</guid><wfw:comment>http://www.tkk7.com/lyjjq/comments/394327.html</wfw:comment><comments>http://www.tkk7.com/lyjjq/articles/394327.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/lyjjq/comments/commentRss/394327.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/lyjjq/services/trackbacks/394327.html</trackback:ping><description><![CDATA[<ol><br /><li style="line-height: 18px;"><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.driverClassName</span><span>=</span><span style="color: blue;">oracle</span><span>.jdbc.driver.OracleDriver  </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.url</span><span>=jdbc:oracle:thin:@10.165.153.9:1521:PRDC  </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.username</span><span>=</span><span style="color: blue;">guser</span><span>  </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.password</span><span>=</span><span style="color: blue;">guser</span><span>  </span><br /></li><li style="line-height: 18px;"><span>#初始化连?nbsp; </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.initialSize</span><span>=</span><span style="color: blue;">0</span><span>  </span><br /></li><li style="line-height: 18px;"><span>#q接池的最大活动个?nbsp; </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.maxActive</span><span>=</span><span style="color: blue;">20</span><span>  </span><br /></li><li style="line-height: 18px;"><span>#没有人用q接的时候,最大闲|的q接个数?nbsp; </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.maxIdle</span><span>=</span><span style="color: blue;">100</span><span>  </span><br /></li><li style="line-height: 18px;"><span>#没有人用q接的时候,最闲|的q接个数?nbsp; </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.minIdle</span><span>=</span><span style="color: blue;">0</span><span>  </span><br /></li><li style="line-height: 18px;"><span>#时{待旉以毫Uؓ(f)单位  </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.maxWait</span><span>=</span><span style="color: blue;">10000</span><span>  </span><br /></li><li style="line-height: 18px;"><span>#是否自动回收时q接  </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.removeAbandoned</span><span>=</span><span style="color: blue;">true</span><span>  </span><br /></li><li style="line-height: 18px;"><span>#讄被遗弃的q接的超时的旉Q以U数为单位)(j)Q即当一个连接被遗弃的时间超q设|的旉Q则它会(x)自动转换成可利用的连接。默认的时旉?00U?nbsp; </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.removeAbandonedTimeout</span><span>=</span><span style="color: blue;">60</span><span>  </span><br /></li><li style="line-height: 18px;"><span>#是否在自动回收超时连接的时候打印连接的时错误  </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.logAbandoned</span><span> = </span><span style="color: blue;">true</span><span>  </span><br /></li><li style="line-height: 18px;"><span>#l出一条简单的sql语句q行验证  </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.validationQuery</span><span>=</span><span style="color: blue;">select</span><span> 1 from dual  </span><br /></li><li style="line-height: 18px;"><span>#在取?gu)接时q行有效验证  </span><br /></li><li style="line-height: 18px;"><span style="color: red;">jdbc.testOnBorrow</span><span>=</span><span style="color: blue;">true</span><span>  </span></li></ol><img src ="http://www.tkk7.com/lyjjq/aggbug/394327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/lyjjq/" target="_blank">强强</a> 2013-01-16 22:23 <a href="http://www.tkk7.com/lyjjq/articles/394327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql创徏q调用存储过E?/title><link>http://www.tkk7.com/lyjjq/articles/372618.html</link><dc:creator>强强</dc:creator><author>强强</author><pubDate>Sat, 24 Mar 2012 10:32:00 GMT</pubDate><guid>http://www.tkk7.com/lyjjq/articles/372618.html</guid><wfw:comment>http://www.tkk7.com/lyjjq/comments/372618.html</wfw:comment><comments>http://www.tkk7.com/lyjjq/articles/372618.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/lyjjq/comments/commentRss/372618.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/lyjjq/services/trackbacks/372618.html</trackback:ping><description><![CDATA[<h2>1.1<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>         CREATE  PROCEDURE <br /> </span><span style="font-family: 黑体;">Q创建)(j)</span></h2><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><pre><strong><span style='color: red; font-family: "Courier New"; font-size: 9pt;'>CREATE PROCEDURE</span></strong><strong><span style="font-size: 9pt;">存储q程?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'> (</span></strong><strong><span style="font-size: 9pt;">参数列表</span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>)</span></strong></pre><pre><strong> </strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'> <span style="color: red;">BEGIN</span></span></strong></pre><pre><strong> </strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SQL</span></strong><strong><span style="font-size: 9pt;">语句代码?/span></strong></pre><pre style="text-indent: 13.55pt;"><strong><span style='color: red; font-family: "Courier New"; font-size: 9pt;'>END</span></strong></pre></td></tr></tbody></table><pre><span style="color: red; font-size: 9pt;">注意Q?/span></pre><pre><span style="font-size: 9pt;">由括号包围的参数列必LL存在。如果没有参敎ͼ也该使用一个空参数?)。每个参数默认都是一个IN参数。要指定为其它参敎ͼ可在参数名之前用关键词 OUT或INOUT</span></pre><pre><span style="font-size: 9pt;">?strong><span style="font-family: 宋体;">mysql</span></strong>客户端定义存储过E的时候?/span><span style='font-family: "Courier New"; font-size: 9pt;'>delimiter</span><span style="font-size: 9pt;">命o(h)来把语句定界W从;变ؓ(f)//?/span></pre><pre><span style="font-size: 9pt;">当?/span><span style='font-family: "Courier New"; font-size: 9pt;'>delimiter</span><span style="font-size: 9pt;">命o(h)Ӟ你应该避免用反斜杠</span><span style='font-family: "Courier New"; font-size: 9pt;'>(‘"’)</span><span style="font-size: 9pt;">字符Q因为那?/span><span style='font-family: "Courier New"; font-size: 9pt;'>MySQL</span><span style="font-size: 9pt;">的{义字W?/span></pre><pre><span style="font-size: 9pt;">如:(x)</span></pre><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><pre><span style='font-family: "Courier New"; font-size: 9pt;'>mysql> <strong>delimiter //</strong></span></pre><pre><span style='font-family: "Courier New"; font-size: 9pt;'>mysql> <strong>CREATE PROCEDURE simpleproc (OUT param1 INT)</strong></span></pre><pre><span style='font-family: "Courier New"; font-size: 9pt;'> -> <strong>BEGIN</strong></span></pre><pre><span style='font-family: "Courier New"; font-size: 9pt;'> -> <strong>SELECT COUNT(*) INTO param1 FROM t;</strong></span></pre><pre><span style='font-family: "Courier New"; font-size: 9pt;'> -> <strong>END</strong></span></pre><pre><span style='font-family: "Courier New"; font-size: 9pt;'> -> <strong>//</strong></span></pre><pre><span style='font-family: "Courier New"; font-size: 9pt;'>Query OK, 0 rows affected (0.00 sec)</span></pre></td></tr></tbody></table><br /><h2>1.2<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>         ALTER  PROCEDURE <br /></span><span style="font-family: 黑体;">Q修改)(j)</span></h2><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>ALTER PROCEDURE </span></strong><strong><span style="font-size: 9pt;">存储q程?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SQL</span></strong><strong><span style="font-size: 9pt;">语句代码?/span></strong></pre></td></tr></tbody></table><pre><span style="font-size: 9pt;">q个语句可以被用来改变一个存储程序的特征?/span></pre><br /><h2>1.3<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>         DROP <br /> PROCEDURE </span><span style="font-family: 黑体;">Q删除)(j)</span></h2><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>DROP PROCEDURE  IF <br /> EXISTS</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">存储q程?/span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>eg:DROP <br />PROCEDURE IF EXISTS proc_employee (proc_employee </span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">存储q程?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>)</span></strong></p></td></tr></tbody></table><pre><span style="font-size: 9pt;">q个语句被用来移除一个存储程序。不能在一个存储过E中删除另一个存储过E,只能调用另一个存储过E?/span></pre><br /><h2>1.4<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>         SHOW  CREATE <br /> PROCEDURE</span><span style="font-family: 黑体;">Q类gSHOW CREATE TABLE</span><span style="font-family: 黑体;">Q查看一个已存在的存储过E)(j)</span></h2><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SHOW CREATE PROCEDURE </span></strong><strong><span style="font-size: 9pt;">存储q程?/span></strong></pre></td></tr></tbody></table><br /><h2>1.5<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>         SHOW  PROCEDURE <br /> STATUS </span><span style="font-family: 黑体;">Q列出所有的存储q程Q?/span></h2><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SHOW <br /> PROCEDURE  STATUS</span></strong></p></td></tr></tbody></table><br /><h2>1.6<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>         CALL</span><span style="font-family: 黑体;">语句Q存储过E的调用Q?/span></h2><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>CALL <br /></span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">存储q程?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>(</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">参数列表</span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>)</span></strong></p></td></tr></tbody></table><pre><span style="font-size: 9pt;">CALL</span><span style="font-size: 9pt;">语句调用一个先前用CREATE PROCEDURE创徏的程序?/span></pre><pre><span style="font-size: 9pt;">CALL</span><span style="font-size: 9pt;">语句可以用声明ؓ(f)OUT或的INOUT参数的参数给它的调用者传回倹{?/span></pre><pre><span style="font-size: 9pt;">存储q程名称后面必须加括P哪怕该存储q程没有参数传?/span></pre><br /><h2>1.7<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>         BEGIN ... <br />END</span><span style="font-family: 黑体;">Q复合语句)(j)</span></h2><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>[<em>begin_label</em>:] </span></strong></pre><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>BEGIN</span></strong></pre><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'> [<em>statement_list</em>]</span></strong></pre><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>END </span></strong></pre><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>[end_label]</span></strong></pre></td></tr></tbody></table><br /><p><span style="font-family: 宋体; font-size: 9pt;">存储子程序可以?/span><span style="font-size: 9pt;">BEGIN ... END</span><span style="font-family: 宋体; font-size: 9pt;">复合语句来包含多个语句?/span></p><br /><p><span style="font-size: 9pt;">statement_list </span><span style="font-family: 宋体; font-size: 9pt;">代表一个或多个语句的列表?/span><span style="font-size: 9pt;">statement_list</span><span style="font-family: 宋体; font-size: 9pt;">之内每个语句都必ȝ分号Q;Q来l尾?/span></p><br /><p><span style="font-family: 宋体; font-size: 9pt;">复合语句可以被标记。除?/span><span style="font-size: 9pt;">begin_label</span><span style="font-family: 宋体; font-size: 9pt;">存在</span><span style="font-size: 9pt;">,</span><span style="font-family: 宋体; font-size: 9pt;">否则</span><span style="font-size: 9pt;">end_label</span><span style="font-family: 宋体; font-size: 9pt;">不能被给?/span><span style="font-size: 9pt;">,</span><span style="font-family: 宋体; font-size: 9pt;">q且如果二者都存在</span><span style="font-size: 9pt;">,</span><span style="font-family: 宋体; font-size: 9pt;">他们必须是同L(fng)?/span></p><br /><h2>1.8<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>         DECLARE</span><span style="font-family: 黑体;">语句Q用来声明局部变量)(j)</span></h2><br /><p><span style="font-size: 9pt;">DECLARE</span><span style="font-family: 宋体; font-size: 9pt;">语句被用来把不同目局域到一个子E序Q局部变?/span></p><br /><p><span style="font-size: 9pt;">DECLARE</span><span style="font-family: 宋体; font-size: 9pt;">仅被用在</span><span style="font-size: 9pt;">BEGIN ... END</span><span style="font-family: 宋体; font-size: 9pt;">复合语句里,q且必须在复合语句的开_(d)在Q何其它语句之前?/span></p><br /><h2>1.9<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>         <span style="font-family: 黑体;">存储E序中的变量</span></span></h2><br /><p style="text-indent: -1cm; margin-left: 49.6pt;"><span style="font-size: 7.5pt;">1.1 </span><span style="font-size: 7.5pt;">DECLARE</span><span style="font-family: 宋体; font-size: 7.5pt;">局部变?/span></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>DECLARE var_name[,...] type [DEFAULT value]</span></strong></pre><pre><strong><span style="font-size: 9pt;">q个语句被用来声明局部变量?/span></strong></pre><pre><strong><span style="font-size: 9pt;">要给变量提供一个默认|请包含一?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>DEFAULT</span></strong><strong><span style="font-size: 9pt;">子句?/span></strong></pre><pre><strong><span style="font-size: 9pt;">值可以被指定Z个表辑ּQ不需要ؓ(f)一个常数?/span></strong></pre><pre><strong><span style="font-size: 9pt;">如果没有</span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>DEFAULT</span></strong><strong><span style="font-size: 9pt;">子句Q初始gؓ(f)</span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>NULL</span></strong><strong><span style="font-size: 9pt;">?/span></strong></pre><pre><strong><span style="font-size: 9pt;">局部变量的作用范围在它被声明的</span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>BEGIN ... END</span></strong><strong><span style="font-size: 9pt;">块内?/span></strong></pre><pre><strong><span style="font-size: 9pt;">它可以被用在嵌套的块中,除了(jin)那些用相同名字声明变量的块?/span></strong></pre></td></tr></tbody></table><br /><p style="text-indent: -1cm; margin-left: 49.6pt;"><span style="font-size: 7.5pt;">1.2 </span><span style="font-family: 宋体; font-size: 7.5pt;">变量</span><span style="font-size: 7.5pt;">SET</span><span style="font-family: 宋体; font-size: 7.5pt;">语句</span></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SET var_name = expr [, var_name = expr] </span></strong></pre><pre><strong><span style="font-size: 9pt;">在存储程序中?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SET</span></strong><strong><span style="font-size: 9pt;">语句是一?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SET</span></strong><strong><span style="font-size: 9pt;">语句的扩展版本?/span></strong></pre><pre><strong><span style="font-size: 9pt;">被参考变量可能是子程序内声明的变量,或者是全局服务器变量?/span></strong></pre><pre><strong><span style="font-size: 9pt;">在存储程序中?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SET</span></strong><strong><span style="font-size: 9pt;">语句作ؓ(f)预先存在?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SET</span></strong><strong><span style="font-size: 9pt;">语法的一部分来实现。这允许</span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SET a=x, b=y, ...</span></strong><strong><span style="font-size: 9pt;">q样的扩展语法?/span></strong></pre><pre><strong><span style="font-size: 9pt;">其中不同的变量类型(局域声明变量及(qing)全局和集体变量)(j)可以被؜合v来?/span></strong></pre><pre><strong><span style="font-size: 9pt;">q也允许把局部变量和一些只对系l变量有意义的选项合ƈh?/span></strong></pre></td></tr></tbody></table><br /><p style="text-indent: -1cm; margin-left: 49.6pt;"><span style="font-size: 7.5pt;">1.3 </span><span style="font-size: 7.5pt;">SELECT ... INTO</span><span style="font-family: 宋体; font-size: 7.5pt;">语句</span></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SELECT col_name[,...] INTO var_name[,...] table_expr</span></strong></pre><pre><strong><span style="font-size: 9pt;">q个</span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SELECT</span></strong><strong><span style="font-size: 9pt;">语法把选定的列直接存储到变量?/span></strong></pre><pre><strong><span style="font-size: 9pt;">因此Q只有单一的行可以被取回?/span></strong></pre><pre><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SELECT id,data INTO x,y FROM test.t1 LIMIT 1;</span></strong></pre><pre><strong><span style="font-size: 9pt;">注意Q用户变量名?/span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>MySQL 5.1</span></strong><strong><span style="font-size: 9pt;">中是对大写不敏感的?/span></strong></pre></td></tr></tbody></table><br /><p style="text-indent: 21pt;"><strong><span style="font-family: 宋体; font-size: 9pt;">重要</span></strong><span style="font-size: 9pt;">: SQL</span><span style="font-family: 宋体; font-size: 9pt;">变量名不能和列名一栗如?/span><span style="font-size: 9pt;">SELECT ... INTO</span><span style="font-family: 宋体; font-size: 9pt;">q样?/span><span style="font-size: 9pt;">SQL</span><span style="font-family: 宋体; font-size: 9pt;">语句包含一个对列的参考,q包含一个与列相同名字的局部变量,</span><span style="font-size: 9pt;">MySQL</span><span style="font-family: 宋体; font-size: 9pt;">当前把参考解释ؓ(f)一个变量的名字?/span></p><br /><h2>1.10<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>     MySQL </span><span style="font-family: 黑体;">存储q程参数cdQin</span><span style="font-family: 黑体;">、out</span><span style="font-family: 黑体;">、inout</span><span style="font-family: 黑体;">Q?/span></h2><br /><p><span style="color: red; font-family: 宋体; font-size: 7.5pt;">此小节内Ҏ(gu)自:(x)</span></p><br /><p><span style="color: red; font-family: 宋体; font-size: 7.5pt;">参见地址Q?/span><span style="color: red; font-size: 7.5pt;">http://www.tkk7.com/nonels/archive/2009/04/22/233324.html</span></p><br /><p style="margin-left: 21pt;"><strong><span style="font-family: Verdana; font-size: 9pt;">MySQL </span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">存储q程参数Q?/span></strong><strong><span style="font-family: Verdana; font-size: 9pt;">in</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">Q?/span></strong></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p><span style="font-family: Verdana; font-size: 9pt;">MySQL </span><span style="font-family: 宋体; font-size: 9pt;">存储q程</span><span style="font-family: Verdana; font-size: 9pt;"> “in” </span><span style="font-family: 宋体; font-size: 9pt;">参数Q跟</span><span style="font-family: Verdana; font-size: 9pt;"> C </span><span style="font-family: 宋体; font-size: 9pt;">语言的函数参数的g递类|</span><span style="font-family: Verdana; font-size: 9pt;"> MySQL </span><span style="font-family: 宋体; font-size: 9pt;">存储q程内部可能?x)修?gu)参数Q但?/span><span style="font-family: Verdana; font-size: 9pt;"> in </span><span style="font-family: 宋体; font-size: 9pt;">cd参数的修改,对调用者(</span><span style="font-family: Verdana; font-size: 9pt;">caller</span><span style="font-family: 宋体; font-size: 9pt;">Q来说是不可见的Q?/span><span style="font-family: Verdana; font-size: 9pt;">not visible</span><span style="font-family: 宋体; font-size: 9pt;">Q?/span></p></td></tr></tbody></table><br /><p style="margin-left: 21pt;"><strong><span style="font-family: Verdana; font-size: 9pt;">MySQL </span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">存储q程参数Q?/span></strong><strong><span style="font-family: Verdana; font-size: 9pt;">out</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">Q?/span></strong></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p><span style="font-family: Verdana; font-size: 9pt;">MySQL </span><span style="font-family: 宋体; font-size: 9pt;">存储q程</span><span style="font-family: Verdana; font-size: 9pt;"> “out” </span><span style="font-family: 宋体; font-size: 9pt;">参数Q从存储q程内部传值给调用者。在存储q程内部Q该参数初始gؓ(f)</span><span style="font-family: Verdana; font-size: 9pt;"> null</span><span style="font-family: 宋体; font-size: 9pt;">Q无用者是否给存储q程参数讄?/span></p></td></tr></tbody></table><br /><p style="margin-left: 21pt;"><strong><span style="font-family: Verdana; font-size: 9pt;">MySQL </span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">存储q程参数Q?/span></strong><strong><span style="font-family: Verdana; font-size: 9pt;">inout</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">Q?/span></strong></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p><span style="font-family: Verdana; font-size: 9pt;">MySQL </span><span style="font-family: 宋体; font-size: 9pt;">存储q程</span><span style="font-family: Verdana; font-size: 9pt;"> inout </span><span style="font-family: 宋体; font-size: 9pt;">参数?/span><span style="font-family: Verdana; font-size: 9pt;"> out </span><span style="font-family: 宋体; font-size: 9pt;">cMQ都可以从存储过E内部传值给调用者。不同的是:(x)调用者还可以通过</span><span style="font-family: Verdana; font-size: 9pt;"> inout </span><span style="font-family: 宋体; font-size: 9pt;">参数传递值给存储q程?/span></p></td></tr></tbody></table><br /><p style="margin-left: 21pt;"><strong><span style="font-family: 宋体; font-size: 9pt;">ȝ</span></strong></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p><span style="font-family: 宋体; font-size: 9pt;">如果仅仅x数据传给</span><span style="font-family: Verdana; font-size: 9pt;"> MySQL </span><span style="font-family: 宋体; font-size: 9pt;">存储q程Q那׃?/span><span style="font-family: Verdana; font-size: 9pt;">“in” </span><span style="font-family: 宋体; font-size: 9pt;">cd参数Q如果仅仅从</span><span style="font-family: Verdana; font-size: 9pt;"> MySQL </span><span style="font-family: 宋体; font-size: 9pt;">存储q程q回|那就使用</span><span style="font-family: Verdana; font-size: 9pt;">“out” </span><span style="font-family: 宋体; font-size: 9pt;">cd参数Q如果需要把数据传给</span><span style="font-family: Verdana; font-size: 9pt;"> MySQL </span><span style="font-family: 宋体; font-size: 9pt;">存储q程Q还要经q一些计后再传回给我们Q此Ӟ要?/span><span style="font-family: Verdana; font-size: 9pt;">“inout” </span><span style="font-family: 宋体; font-size: 9pt;">cd参数?/span></p></td></tr></tbody></table><br /><h2>1.11<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>     <span style="font-family: 黑体;">例子Q?/span></span></h2><br /><p style="text-indent: -1cm; margin-left: 49.6pt;"><strong><span style="font-size: 9pt;">1.1 </span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">创徏存储q程</span></strong></p><br /><p><span style="font-family: 宋体; font-size: 9pt;">?/span><span style='font-family: "Courier New"; font-size: 9pt;'>(</span><span style="font-family: 宋体; font-size: 9pt;">输出参数</span><span style='font-family: "Courier New"; font-size: 9pt;'>)</span><span style="font-family: 宋体; font-size: 9pt;">q回值的存储q程Q?/span></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>--</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">删除存储q程</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>DROP <br />PROCEDURE IF EXISTS proc_employee_getCount</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>--</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">创徏存储q程</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>CREATE <br />PROCEDURE proc_employee_getCount(out n int)</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>BEGIN</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>     SELECT <br />COUNT(*) FROM employee ;</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>END</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>--MYSQL</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">调用存储q程</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>CALL <br />proc_employee_getCount(@n);</span></strong></p></td></tr></tbody></table><br /><p><span style="font-family: 宋体; font-size: 9pt;">带输入参数的存储q程Q?/span></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>--</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">删除存储q程</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>DROP <br />PROCEDURE IF EXISTS proc_employee_findById;</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>--</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">创徏存储q程</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>CREATE <br />PROCEDURE proc_employee_findById(in n int)</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>BEGIN</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>     SELECT <br />* FROM employee where id=n;</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>END</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>--</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">定义变量</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>SET <br />@n=1;</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>--</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">调用存储q程</span></strong></p><br /><p><strong><span style='font-family: "Courier New"; font-size: 9pt;'>CALL <br />proc_employee_findById(@n);</span></strong></p></td></tr></tbody></table><br /><p><strong><span style="font-family: 宋体; font-size: 9pt;">操作存储q程时应注意</span></strong><strong><span style='font-family: "Courier New"; font-size: 9pt;'>:</span></strong></p><br /><p style="text-indent: -21pt; margin-left: 21pt;"><span style="color: blue; font-size: 9pt;">1. </span><span style="color: blue; font-family: 宋体; font-size: 9pt;">删除存储q程时只需要指定存储过E名卛_Q不带括P</span></p><br /><p style="text-indent: -21pt; margin-left: 21pt;"><span style="color: blue; font-size: 9pt;">2. </span><span style="color: blue; font-family: 宋体; font-size: 9pt;">创徏存储q程Ӟ不管该存储过E有无参敎ͼ都需要带括号Q?/span></p><br /><p style="text-indent: -21pt; margin-left: 21pt;"><span style="color: blue; font-size: 9pt;">3. </span><span style="color: blue; font-family: 宋体; font-size: 9pt;">在?/span><span style="color: blue; font-size: 9pt;">SET</span><span style="color: blue; font-family: 宋体; font-size: 9pt;">定义变量时应遵@</span><span style="color: blue; font-size: 9pt;">SET</span><span style="color: blue; font-family: 宋体; font-size: 9pt;">的语法规则;</span></p><br /><p style="text-indent: 21pt;"><span style="color: blue; font-size: 9pt;">SET @</span><span style="color: blue; font-family: 宋体; font-size: 9pt;">变量?/span><span style="color: blue; font-size: 9pt;">=</span><span style="color: blue; font-family: 宋体; font-size: 9pt;">初始|</span></p><br /><p style="text-indent: -21pt; margin-left: 21pt;"><span style="color: blue; font-size: 9pt;">4. </span><span style="color: blue; font-family: 宋体; font-size: 9pt;">在定义存储过E参数列表时Q应注意参数名与数据库中字段名区别开来,否则出现无法预期的l果</span></p><br /><h2>1.12<span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'>     Java</span><span style="font-family: 黑体;">代码调用存储q程(JDBC)</span></h2><br /><p><strong><span style="font-family: 宋体; font-size: 9pt;">相关</span></strong><strong><span style="font-size: 9pt;">API</span></strong><strong><span style="font-family: 宋体; font-size: 9pt;">Q?/span></strong><span style='color: red; font-family: "Courier New"; font-size: 9pt;'>java.sql.CallableStatement</span></p><br /><p><span style="font-family: 宋体; font-size: 9pt;">使用?/span><span style='color: red; font-family: "Courier New"; font-size: 9pt;'>java.sql.CallableStatement</span><span style="font-family: 宋体; font-size: 9pt;">接口Q该接口专门用来调用存储q程</span><span style='font-family: "Courier New"; font-size: 9pt;'>;</span></p><br /><p><span style="font-family: 宋体; font-size: 9pt;">该对象的获得依赖?/span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>java.sql.Connection;</span></p><br /><p><span style="color: black; font-family: 宋体; font-size: 9pt;">通过</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>Connection</span><span style="color: black; font-family: 宋体; font-size: 9pt;">实例?/span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>prepareCall()</span><span style="color: black; font-family: 宋体; font-size: 9pt;">Ҏ(gu)q回</span><span style='font-family: "Courier New"; font-size: 9pt;'>CallableStatement</span><span style="font-family: 宋体; font-size: 9pt;">对象</span></p><br /><p><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>prepareCall()</span><span style="color: black; font-family: 宋体; font-size: 9pt;">内部Z固定写法</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>{call <br /></span><span style="color: black; font-family: 宋体; font-size: 9pt;">存储q程?/span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>(</span><span style="color: black; font-family: 宋体; font-size: 9pt;">参数列表</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>1,</span><span style="color: black; font-family: 宋体; font-size: 9pt;">参数列表</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>2)}</span><span style="color: black; font-family: 宋体; font-size: 9pt;">可用</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>?</span><span style="color: black; font-family: 宋体; font-size: 9pt;">占位</span></p><br /><p><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>eg:</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'> <br />connection</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.prepareCall(</span><span style='color: rgb(42, 0, 255); font-family: "Courier New"; font-size: 9pt;'>"{call <br />proc_employee(?)}"</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>);</span></p><br /><p><strong><span style="color: black; font-family: 宋体; font-size: 9pt;">存储q程中参数处?/span></strong><strong><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>:</span></strong></p><br /><p><span style="color: black; font-family: 宋体; font-size: 9pt;">输入参数</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>:</span><span style="color: black; font-family: 宋体; font-size: 9pt;">通过</span><span style='font-family: "Courier New"; font-size: 9pt;'>java.sql.CallableStatement</span><span style="font-family: 宋体; font-size: 9pt;">实例?/span><span style='font-family: "Courier New"; font-size: 9pt;'>setXXX()</span><span style="font-family: 宋体; font-size: 9pt;">Ҏ(gu)赋|用法{同?/span><span style="font-size: 9pt;">java.sql.PreparedStatement</span></p><br /><p><span style="color: black; font-family: 宋体; font-size: 9pt;">输出参数</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>:</span><span style="color: black; font-family: 宋体; font-size: 9pt;">通过</span><span style='font-family: "Courier New"; font-size: 9pt;'>java.sql.CallableStatement</span><span style="font-family: 宋体; font-size: 9pt;">实例?/span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>registerOutParameter(</span><span style="color: black; font-family: 宋体; font-size: 9pt;">参数位置</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>, </span><span style="color: black; font-family: 宋体; font-size: 9pt;">参数cd</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>)</span><span style="font-family: 宋体; font-size: 9pt;">Ҏ(gu)赋?/span><span style='font-family: "Courier New"; font-size: 9pt;'>,</span><span style="font-family: 宋体; font-size: 9pt;">其中参数cd主要使用</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>java.sql.Types</span><span style="color: black; font-family: 宋体; font-size: 9pt;">中定义的cd</span></p><br /><p><span style="font-size: 9pt;">Java</span><span style="font-family: 宋体; font-size: 9pt;">代码调用?span style="color: red;">输入参数</span>的存储过E?/span><span style="font-size: 9pt;"> <br />(</span><span style="font-family: 宋体; font-size: 9pt;">Ҏ(gu)输入</span><span style="font-size: 9pt;">ID</span><span style="font-family: 宋体; font-size: 9pt;">查询雇员信息</span><span style="font-size: 9pt;">)</span></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p align="left"><strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>public</span></strong><strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>void</span></strong><span style='color: black; font-family: "Courier New"; font-size: 9pt;'> <br />executeProcedure()</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>    <br />{</span></p><br /><p align="left"> <strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>try</span></strong><span style='color: black; font-family: "Courier New"; font-size: 9pt;'> {</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>/**</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>callableStatement</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>java.sql.CallableStatement</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>connection</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>java.sql.Connection</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>jdbc</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">调用存储q程原型</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>{call</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">存储q程?/span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>(</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">参数列表</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>1,</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">参数列表</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>2)}</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">可用</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>?</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">代替</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*/</span></p><br /><p align="left"> <span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>callableStatement</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>=</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>connection</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.prepareCall(</span><span style='color: rgb(42, 0, 255); font-family: "Courier New"; font-size: 9pt;'>"{call <br />proc_employee_findById(?)}"</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>);</span></p><br /><p align="left"> <span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>callableStatement</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.setInt(1, 1); <br /></span><span style='color: rgb(63, 127, 95); font-family: "Courier New"; font-size: 9pt;'>//</span><span style="color: rgb(63, 127, 95); font-family: 宋体; font-size: 9pt;">讄输入参数</span></p><br /><p align="left"> <span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>resultSet</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>=</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>callableStatement</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.executeQuery();</span><span style='color: rgb(63, 127, 95); font-family: "Courier New"; font-size: 9pt;'>//</span><span style="color: rgb(63, 127, 95); font-family: 宋体; font-size: 9pt;">执行存储q程</span></p><br /><p align="left"> <strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>if</span></strong><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>(</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>resultSet</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.next())</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>            <br />{</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>                <br />System.</span><em><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>out</span></em><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.println(</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>resultSet</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.getInt(1)+</span><span style='color: rgb(42, 0, 255); font-family: "Courier New"; font-size: 9pt;'>""t"</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>+</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>resultSet</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.getString(2));</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>            <br />}</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>        } <br /></span><strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>catch</span></strong><span style='color: black; font-family: "Courier New"; font-size: 9pt;'> (SQLException <br />e) {</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>            <br />e.printStackTrace();</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>        <br />}</span></p><br /><p><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>    <br />}</span> </p></td></tr></tbody></table><br /><p><span style="font-size: 9pt;">Java</span><span style="font-family: 宋体; font-size: 9pt;">代码调用?span style="color: red;">输出参数</span>的存储过E?/span><span style="font-size: 9pt;"> <br />(</span><span style="font-family: 宋体; font-size: 9pt;">q回数据库中的记录数</span><span style="font-size: 9pt;">)</span></p><br /><table style="border: currentColor; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0"><br /><tbody><br /><tr><br /><td style="padding: 0cm 5.4pt; border: 1pt solid windowtext; width: 426.1pt;" valign="top" width="568"><br /><p align="left"><strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>public </span></strong><strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>void</span></strong><span style='color: black; font-family: "Courier New"; font-size: 9pt;'> <br />executeProcedure()</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>    <br />{</span></p><br /><p align="left"> <strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>try</span></strong><span style='color: black; font-family: "Courier New"; font-size: 9pt;'> {</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>/**</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>callableStatement</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>java.sql.CallableStatement</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>connection</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>java.sql.Connection</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>jdbc</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">调用存储q程原型</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>{call</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">存储q程?/span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>(</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">参数列表</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>1,</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">参数列表</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>2)}</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">可用</span><span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>?</span><span style="color: rgb(63, 95, 191); font-family: 宋体; font-size: 9pt;">代替</span></p><br /><p align="left"> <span style='color: rgb(63, 95, 191); font-family: "Courier New"; font-size: 9pt;'>*/</span></p><br /><p align="left"> <span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>callableStatement</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>=</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>connection</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.prepareCall(</span><span style='color: rgb(42, 0, 255); font-family: "Courier New"; font-size: 9pt;'>"{call <br />proc_employee_getCount(?)}"</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>);</span></p><br /><p align="left"> <span style='color: rgb(63, 127, 95); font-family: "Courier New"; font-size: 9pt;'>//</span><span style="color: rgb(63, 127, 95); font-family: 宋体; font-size: 9pt;">讄输出参数</span></p><br /><p align="left"> <span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>callableStatement</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.registerOutParameter(1, <br />Types.</span><em><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>INTEGER</span></em><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>);</span></p><br /><p align="left"> <span style='color: rgb(63, 127, 95); font-family: "Courier New"; font-size: 9pt;'>//</span><span style="color: rgb(63, 127, 95); font-family: 宋体; font-size: 9pt;">执行存储q程</span></p><br /><p align="left"> <span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>resultSet</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>=</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>callableStatement</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.executeQuery();</span></p><br /><p align="left"> <strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>if</span></strong><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>(</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>resultSet</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.next())</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>            <br />{</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>                <br />System.</span><em><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>out</span></em><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.println(</span><span style='color: rgb(0, 0, 192); font-family: "Courier New"; font-size: 9pt;'>resultSet</span><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>.getInt(1));</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>            <br />}</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>        } <br /></span><strong><span style='color: rgb(127, 0, 85); font-family: "Courier New"; font-size: 9pt;'>catch</span></strong><span style='color: black; font-family: "Courier New"; font-size: 9pt;'> (SQLException <br />e) {</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>            <br />e.printStackTrace();</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>        <br />}</span></p><br /><p align="left"><span style='color: black; font-family: "Courier New"; font-size: 9pt;'>    <br />}</span></p></td></tr></tbody></table><img src ="http://www.tkk7.com/lyjjq/aggbug/372618.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/lyjjq/" target="_blank">强强</a> 2012-03-24 18:32 <a href="http://www.tkk7.com/lyjjq/articles/372618.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>删除部分重复字段的记?/title><link>http://www.tkk7.com/lyjjq/articles/357519.html</link><dc:creator>强强</dc:creator><author>强强</author><pubDate>Mon, 29 Aug 2011 09:32:00 GMT</pubDate><guid>http://www.tkk7.com/lyjjq/articles/357519.html</guid><wfw:comment>http://www.tkk7.com/lyjjq/comments/357519.html</wfw:comment><comments>http://www.tkk7.com/lyjjq/articles/357519.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/lyjjq/comments/commentRss/357519.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/lyjjq/services/trackbacks/357519.html</trackback:ping><description><![CDATA[<p>创徏临时?br />create table tmp_dur as <br />select a.shop_id,a.city_id,a.product_id,max(a.id) as mid from 51fanli_tuandh_item as a group by a.shop_id,a.city_id,a.product_id having count(*) > 1</p> <p>查询联合?br />SELECT a.shop_id,a.city_id,a.product_id from tmp_dur a , 51fanli_tuandh_item b where a.shop_id = b.shop_id and a.city_id = b.city_id and a.product_id = b.product_id</p> <p>删除重复目<br />delete from 51fanli_tuandh_item<br />where 51fanli_tuandh_item.id != (<br />SELECT b.mid from tmp_dur b<br />where 51fanli_tuandh_item.city_id = b.city_id and 51fanli_tuandh_item.shop_id = b.shop_id and 51fanli_tuandh_item.product_id = b.product_id<br />);</p> <p>删除临时?br />drop tmp_dur;</p> <p>d唯一<br />ALTER TABLE  `51fanli_tuandh_item` ADD UNIQUE (<br />`shop_id` ,<br />`city_id` ,<br />`product_id`<br />);</p> <img src ="http://www.tkk7.com/lyjjq/aggbug/357519.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/lyjjq/" target="_blank">强强</a> 2011-08-29 17:32 <a href="http://www.tkk7.com/lyjjq/articles/357519.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>yum 安装mysqlhttp://www.tkk7.com/lyjjq/articles/350475.html强强强强Wed, 18 May 2011 06:36:00 GMThttp://www.tkk7.com/lyjjq/articles/350475.htmlhttp://www.tkk7.com/lyjjq/comments/350475.htmlhttp://www.tkk7.com/lyjjq/articles/350475.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/350475.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/350475.htmlyum install mysql
yum install mysql
-server
yum install mysql
-devel
chgrp
-R mysql /var/lib/mysql
chmod
-R 770 /var/lib/mysql
service mysqld start
mysql
SET PASSWORD FOR
'root'@'localhost' = PASSWORD('secret_password');

收工Q?/p>

更新

如要其他机器能访问,?code>mysql.user中添加一?code>Host?code>'%'?strong>user,然后flush priviledges;Q最后防火墙加一句类DL(fng)语句卛_(开?code>3306端口)Q?/p>

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

如果?strong>reboot自启动:(x)

chkconfig --levels 345 mysqld on


强强 2011-05-18 14:36 发表评论
]]>
mysql忘记root密码拯救Ҏ(gu)(flush privileges)http://www.tkk7.com/lyjjq/articles/346797.html强强强强Wed, 23 Mar 2011 00:34:00 GMThttp://www.tkk7.com/lyjjq/articles/346797.htmlhttp://www.tkk7.com/lyjjq/comments/346797.htmlhttp://www.tkk7.com/lyjjq/articles/346797.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/346797.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/346797.html

1、结束当前正在运行的mysqlq程?br /> # /etc/init.d/mysql stop

2、用mysql安全模式q行q蟩q权限验证?br /> # /usr/bin/mysqld_safe --skip-grant-tables

3、以rootw䆾dmysql?br /> # mysql -u root

4、修改root用户口o(h)?br /> mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set Password = PASSWORD('root') where User ='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> exit

5、结束mysql安全模式Q用正常模式q行mysql?br /> # /etc/init.d/mysql restart

6、试试你C改的口o(h)Q嘿?#8230;…屡试屡爽Q?br />  
mysql> update mysql.user set password=PASSWORDQ?新密?Q?where User='root'Q?nbsp;

mysql> flush privilegesQ?br /> mysql> quit





强强 2011-03-23 08:34 发表评论
]]>
mysql_install_db相关介绍http://www.tkk7.com/lyjjq/articles/345778.html强强强强Sat, 05 Mar 2011 06:22:00 GMThttp://www.tkk7.com/lyjjq/articles/345778.htmlhttp://www.tkk7.com/lyjjq/comments/345778.htmlhttp://www.tkk7.com/lyjjq/articles/345778.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/345778.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/345778.htmlmysql_install_db 脚本的目的是生成新的MySQL授权表。它不覆盖已有的MySQL授权表,q且它不影响M其它数据?/p>

如果你想要重新创建授权表Q首先停止mysqld服务器(如果它正q行Q。然后重新命名数据目录下的MySQL目录q保存,然后q行mysql_install_db。例如:(x)

shell> mv mysql-data-directory/mysql mysql-data-directory/mysql-old

shell> mysql_install_db --user=mysql

本节列出?jin)运行mysql_install_db时你可能遇到的问题:(x)

·         mysql_install_db fails to install the grant tables

你会(x)发现mysql_install_db不能安装 授权表,昄下面的消息后l止Q?/p>

Starting mysqld daemon with databases from XXXXXX

mysqld ended

在这U情况下Q你应该很小?j)地(g)验日志文Ӟ日志文g应该位于目录“XXXXXX”Q用错误消息命名Qƈ且应该指Zؓ(f)什么mysqld没启动。如果你不理解发生的事情Q邮寄一份错误报告,包含日志文gQ?/p>

·         已经有一个amysqldq程在运?/p>

表示服务器在q行Q这U情况下可能已经创徏?jin)授权表。如果如此,则不再需要运行mysql_install_dbQ因为只需要运行一?当你首次安装MySQL??/p>

·         当一个服务器正运行时Q安装第二个服务器不工作

q只有在当你已经有已存在的MySQL安装但是惌把新安装攑֜一个不同的地方时才?x)发生。例如,你可能已l有?jin)一个品安装,但ؓ(f)?jin)测试想要同时运?个安装。通常当你试着q行W二个服务器Ӟ发生的问题是它试囑֒W一个用同L(fng)套接字和端口。在q种情况下,你将遇到错误消息Q?/p>

Can't start server: Bind on TCP/IP port:

Address already in use

Can't start server: Bind on unix socket...

·         你没?tt>“ /tmp ”的写权限

如果你没有写权限在默认位|??tt>“/tmp”?创徏一个Unix套接字文Ӟ或没?tt>?#8220;/tmp”创徏临时文g的许可,在运行mysql_install_db或mysqld服务器时Q你遇C个错误?/p>

你可以在开始mysql_install_db或mysqld之前执行以下命o(h)指定一个不同的Unix套接字文件位|和临时目录Q?/p>

shell> TMPDIR=/some_tmp_dir/

shell> MYSQL_UNIX_PORT=/some_tmp_dir/mysql.sock

shell> export TMPDIR MYSQL_UNIX_PORT

some_tmp_dir应该是你有写许可的某个目录的全\径?/p>

然后Q你应当能够用这些命令运行mysql_install_dbq启动服务器Q?/p>

shell> bin/mysql_install_db --user=mysql

shell> bin/mysqld_safe --user=mysql &

如果mysql_install_db位于scripts目录下,首先修改命o(h)scripts/mysql_install_db?/p>

强强 2011-03-05 14:22 发表评论
]]>
mysql数据库优化和状态查看,典型语句http://www.tkk7.com/lyjjq/articles/344887.html强强强强Wed, 23 Feb 2011 01:20:00 GMThttp://www.tkk7.com/lyjjq/articles/344887.htmlhttp://www.tkk7.com/lyjjq/comments/344887.htmlhttp://www.tkk7.com/lyjjq/articles/344887.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/344887.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/344887.html1:昄当前q程列表
show full processlist ;



强强 2011-02-23 09:20 发表评论
]]>
Client does not support 解决ucenter安装时的错误http://www.tkk7.com/lyjjq/articles/330336.html强强强强Mon, 30 Aug 2010 13:47:00 GMThttp://www.tkk7.com/lyjjq/articles/330336.htmlhttp://www.tkk7.com/lyjjq/comments/330336.htmlhttp://www.tkk7.com/lyjjq/articles/330336.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/330336.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/330336.html UPDATE mysql.user SET PASSWORD = OLD_PASSWORD('ucenter') WHERE HOST = 'localhost' AND USER = 'ucenter';

FLUSH PRIVILEGES;

强强 2010-08-30 21:47 发表评论
]]>
MySql数据库彻底删?/title><link>http://www.tkk7.com/lyjjq/articles/301535.html</link><dc:creator>强强</dc:creator><author>强强</author><pubDate>Sat, 07 Nov 2009 04:33:00 GMT</pubDate><guid>http://www.tkk7.com/lyjjq/articles/301535.html</guid><wfw:comment>http://www.tkk7.com/lyjjq/comments/301535.html</wfw:comment><comments>http://www.tkk7.com/lyjjq/articles/301535.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/lyjjq/comments/commentRss/301535.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/lyjjq/services/trackbacks/301535.html</trackback:ping><description><![CDATA[<p>如何正确卸蝲MySQLQ主要是删除注册表中的垃圾信?/p> <p>卸蝲MySQL数据库:(x)<br /> 先停掉WINDOWS里的MySQL服务Q?br /> 再到控制面板里的增加删除E序内进行删除,qƈ没有完整地删除了(jin)MySQLQ?br /> 接着在注册表里清除MySQL服务Q?br /> 1、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除<br /> 2、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除<br /> 3、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除<br /> 注册表中的ControlSet001,ControlSet002,不一定是001?02,可能是ControlSet005,006之类,删除的时?都删除就可以<br /> (g)查C:\WINDOWS目录下是否有my.ini文g,其删除(C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 6.0\)<br /> 手工删除MySQL的安装目?/p> <img src ="http://www.tkk7.com/lyjjq/aggbug/301535.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/lyjjq/" target="_blank">强强</a> 2009-11-07 12:33 <a href="http://www.tkk7.com/lyjjq/articles/301535.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL GUI 工具汇?/title><link>http://www.tkk7.com/lyjjq/articles/297831.html</link><dc:creator>强强</dc:creator><author>强强</author><pubDate>Sun, 11 Oct 2009 16:15:00 GMT</pubDate><guid>http://www.tkk7.com/lyjjq/articles/297831.html</guid><wfw:comment>http://www.tkk7.com/lyjjq/comments/297831.html</wfw:comment><comments>http://www.tkk7.com/lyjjq/articles/297831.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/lyjjq/comments/commentRss/297831.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/lyjjq/services/trackbacks/297831.html</trackback:ping><description><![CDATA[<div id="mkmgcqg" class="articleContent" id="articleBody"> <p>前言</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> MySQL GUI工具很多Q常用的如NavicatQPHPMyadminQSQLyogQMySQL-frontQMySQL GUI Tools{。本文就常用的这几款工具的功能做一个详l介l?/p> <p><br /> MySQL GUI Tools</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> MySQL官方提供的,免费使用Q一个可视化界面的MySQL数据库管理控制台Q提供了(jin)四个非常好用的图形化应用E序Q方便数据库理和数据查询。这些图形化理工具可以大大提高数据库管理、备份、迁Ud查询效率Q即使没有丰富的SQL语言基础的用户也可以应用自如。它们分别是Q?/p> <p><br />  <wbr> <wbr> <wbr> <wbr> <wbr> ?MySQL Migration ToolkitQ数据库q移</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?MySQL AdministratorQMySQL理?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?MySQL Query BrowserQ用于数据查询的囑Ş化客L(fng)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?MySQL WorkbenchQDB Design工具</p> <p><br /> MySQL Query Browser</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> MySQL查询览器是为MySQL数据库服务器创造,执行和优化SQL查询的最单的可视化工兗?MySQL查询览器提供一套完整的拖放工具Q可视化地徏立,分析和管理?zhn)的查询?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 查询工具栏轻村֜创徏和执行查询和览查询历史Q可以保存查询,打开查询文g *.qbquery</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 脚本~辑器给你控制手动创建或~辑SQL语句</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 查询l果H口Q让(zhn)也可以L地比较多个查?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 对象览器让(zhn)用Web览器一L(fng)界面理(zhn)的数据库,书签和历?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 数据库ExplorerQ?zhn)可以选择的表和字D|询,以及(qing)创徏和删除表</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 表编辑器可让(zhn)轻村֜创徏Q修改和删除?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 内置帮助x帮助你获得搜选的对象Q参敎ͼ和职能,可以查看mysql syntax语句句法Q函敎ͼ参数</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 直观的易于用的界面</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> MySQL查询览器提供了(jin)一个易于用的web览器一L(fng)界面Q让(zhn)即时访问所有查询浏览器的功能。主要的查询H口Q是完全自定义让(zhn)可以查看或隐藏个h工具栏。此外,D按钮Q让(zhn)浏览?zhn)的查询历Ԍ让(zhn)可以回顾及(qing)重新执行以前的查询?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 使用l果H口L理多个查询</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 比较多个查询通过查看制表W分隔,或是U向或是横向联合的显C在l果H口。此外,解释按钮Q可以用来获得解释,输出为当前查询。比较按钮允许?zhn)快速比较两个查询的l果Q让(zhn)确定在何处行已插入Q更新或删除?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> L地创建,~辑和调试SQL语句</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 该脚本编辑器提供?jin)一个稳健的界面Q创建,~辑Q和调试的大型涉?qing)多个SQL语句的SQL脚本。脚本区域的特点是编号和语法H出。另外,脚本调试按钮Q(zhn)可以设|断点和控制执行该语句和脚本?/p> <p><br /> MySQL administrator</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> mysql administrator 是一个功能强大的可视化管理工P让用者更Ҏ(gu)理和监你的MySQL环境QƈҎ(gu)据库取得更好的能见度?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> MySQL Administrator主要功能介绍Q?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?启动/停止mysql服务</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?用户q接ơ数Q线E??/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?健康状况查看Q连接健康实时曲U图查看(q接使用率,量Qsql查询?, 内存健康查看(Query Cache Hitrate,Key Efficiency), 状态变量查?普通,性能Q网l,执行的命令,混合Q新变量) , pȝ变量查看(普通,q接QSQL,内存Q表cdQ新变量)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?启动变量~辑</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?服务器,服务器实例,客户端信息查?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?备䆾与恢复整个数据库?臛_个表Q定时备?</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?目录(catalog): 选定数据库创建,~辑?索引Q外键,列,存储引擎Q字W集Q密码,自动增长Q最大行Q?最行{?Q维护表(优化Q检查,修理)Q查看选定数据库的所有烦(ch)引,创徏Q删除编辑选定数据?的视图,存储q程?/p> <p><br /> Migration Toolkit</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 可以从MS SQLQOracle{数据库UL复制数据库到Mysql</p> <p><br /> Mysql workbench</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> dEER 图表(Extended Entity-Relationship的羃?</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 使用默认SchemaQ创建新?新的视图{对?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 可以导入SQL脚本</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ~点Q?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> mysql query browserL做了(jin)几个查询之后׃用内存太?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 手动安裝 MySQL GUI Tools 5.0Ӟ目录名U取名ؓ(f)中文Q或是将它放|在桌面上执?MySQL Query BrowserQ在中文pȝ?x)生此问题Q?.... MySQL GUI Tools 5.0\XML\mysqlqb_functions.xml (error</p> <p><br /> SQLyog企业?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> E序本n非常短小_?zhn)Q?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 使用MySQL C APIsE序接口直接q接。支持HTTP and SSH和SSL加密q接</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> d之后Q界面就是很值得注意。SQLyogȝ口综合了(jin)大多数SQL Server7.0分析器和企业理的特性于一体?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> MySOL服务器上所有的数据库都昄在一个树(wi)型控件上。你只能讉K你在d时授权的那个数据库。如果你点开代表授权l你的那个数据库的树(wi)型结构,你就可以看到一pd代表表格的节炏V点开表格节点后,你就可以看到一pd昄字段名的节点和另一个代表烦(ch)引的节点集合。在右下方的面板上,有四个标{NQ即Q结果(ResultQ、消息(MessageQ、对象(ObjectQ和历史QHistoryQ?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 除了(jin)常见的导入导出,l构与数据同步外,特色功能主要有:(x)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?Query Builder支持拖拽N,方便直观快捷的创建SQL查询语句Q易于控制?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?快速执行多重查询ƈ能够q回每页过1000条的记录集,而这U操作是直接生成在内存中?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?SQLyog Migration ToolkitQSQLyog提供的数据迁Ud具包Q从MODBC兼容的数据源到MySQLQ简化了(jin)数据的传?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?短信通知服务。调度备份短信通知?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?Ҏ(gu)据表的诊断分析和优化?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?可以复选表数据行,q行批删?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?Job理Q管理数据库同步Q短信通知Q调度备份等job</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 另外Q有些功能还是很方便的:(x)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?插入SQL语句模版Q提供常用的一些SQL命o(h)模版</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?dSQL语句到收藏夹</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?察看操作的历史记?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?寚w盘支持很友好。对q键盘操作的朋友是很好的帮?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?对象列表察看Q一目了(jin)?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ~点Q?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?如果你在Win32 Dependency Walker下运行程序的.exe文gQ你?x)发现它引用了(jin)COMDLG32.dll文gQ而COMDLG32.dll又轮引用AppHelp。实事上QCommDlg调用AppHelpQ而当AppHelp没有h函数ӞCommDlgq么做根本就是浪费资源?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?q有相比Navicat是界面功能菜单图标了(jin)些,不那么方ѝ导入导出格式少?jin)些Q如导入仅支持csv.导出也仅支持csv,html,xml,SQLQExcel xml{?U格式?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?对中文支持不?/p> <p><br /> SQLyog厂商QWebyog软g公司</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 是一家私人控股公司,MySQL|络的金牌认证合作伙_(d)成立?001q_(d)总部在印度,提供同类最佳的数据理工具理行的开放源代码数据库?/p> <p><br /> MySQL-Front</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> MySQL-Front是一Ƒְ巧的理Mysql的应用程序,其主要特性包括多文档界面、语法突出、拖拽方式的数据库和表格、可~辑/可增?删除的域、可~辑/可插?删除的记录、可昄的成员、可执行的SQL脚本q提供与外程序接口、保存数据到CSV文g{?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ׃2006q?1?3日MySQL-Front曄宣布停止一D|间开发,后来官网改名Q?a >http://www.sql-front.com</a></p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 最新版?.2Q下载后可以试用30天?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 特色功能介绍Q?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?高程度的相容?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?内部密集的用Windows API Q以保以兼Ҏ(gu)来的Windows版本</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?支持MySQL数据库开始版?.23</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?直接讉K数据库,而不使用的MySQL的DLL Q以减少安装和连接问?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?止外部HTTP隧道讉K数据?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?拖曳和复Ӟ_脓(chung)支持</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?有效C用,可通过键盘或鼠?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?非常快,高效率及(qing)多语句支?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?语言讄Q多?0U语a提供Q?Unicode的支持)(j)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?支持BLOB 数据cd</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ~点:</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?客户端用SET NAMES讄字符集,如中文显Cset names gbkQSQL Editor不能用于处理mysql数据库与mysql-front之间的编?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?导入SQL文g的时候出现错误:(x)SQL文g是可ȝ不能写或数据库版本问题?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?客户端不能处?创徏存储q程/创徏函数/创徏视图/创徏事g"Q因为客L(fng)要用Delimiter语句QMySQL-Front不能实现?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?日期仅支持从02/Jan/0001开始以后的.</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?无符L(fng)Bigintg支持63?不能大于9223372036854775807)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?每个表仅支持2147483647条记录?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?支持BLOB 数据cd</p> <p><br /> PHPMyAdmin</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> PHPMyAdmin是一个专门用于在U管?My SQL 4.X ?5.X 版本的My SQL数据库的软gQY仉用PHP~写Q目前最高版本是2.7.0-pl1</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 该工hB/Sl构的,ZWeb跨^台的理E序Qƈ且支持简体中文。可以在官方|站免费下蝲?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 下蝲后,把它释放到web服务器的根目录下Q取个名字,比如叫phpMyAdminQ然后在览器的地址栏输?http://X.X.X.X/phpMyAdmin/index.php 可以了(jin)?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 如果是phpMyAdmin 2.8.0.2以上版本的,q样使用?x)报错,因?f)默认没有q个软g需要的配置文gconfig.default.php,?.6.X版本下都有这个文Ӟ只是口o(h)不对。对?.6.X版本的,可以直接用文本编辑器打开q个文gQ把其中W一?cfg中内容修Ҏ(gu)自己的用户名?qing)密码就可以了(jin)?x)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> $cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> $cfg['Servers'][$i]['user'] = 'root'; // MySQL user</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> $cfg['Servers'][$i]['password'] = '自己的密?;</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 不设|密码的话,pȝ?x)提C:(x)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> Access denied for user <a href="mailto:'root'@'localhost'">'root'@'localhost'</a> (using password: NO)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 如果?.8.0.2版本的,E序?x)提Cq行scripts/setup.phpq行配置以生成config.inc.php文g?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> PHPMyAdmin的优?</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?它在导出和导入数据是直接生成/dSQL语句Q因此可以在导入之前修改SQL文本辑ֈ修改数据的目的。而MySQLE序的导出的则是专用格式和base64~码的数据,无法直接修改?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?B/S讉K方式</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ~点Q必d装在你的Web服务器中Q所以如果没有合适的讉K权限Q其它用h可能损害C的SQL数据?/p> <p><br /> Navicat</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> Navicat for MySQL是一个强大的MySQL数据库服务器理和开发工兗它可以与Q?.21或以上版本的MySQL一起工作,q支持大部分的MySQL最新功能,包括触发器、存储过E、函数、事件、视图、管理用P{等。它不仅对专业开发h员来说是非常端的技术,而且对于新手来说也易学易用。其_ֿ(j)设计的图形用L(fng)面(GUIQ,Navicat for MySQL可以让你用一U安全简便的方式快速ƈҎ(gu)地创建,l织Q访问和׃n信息?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> Navicat MySQL在三U^C是可用的——微软Windows、Mac OS X 和Linux操作pȝ。它可以使用戯接到本地/q程服务器,提供?jin)几U实用工P例如数据l构同步、导?导出、备份和报告Qɾl护数据的过E很Ҏ(gu)?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 除了(jin)常规的管理数据库对象外,Navicat功能主要有:(x)</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?多种格式的导入导?gu)?使维护数据的q程很容易?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?扚w的工作调度处?有力减轻?jin)数据库理员的负担?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?快速地实现q域|远E连?更加安全ѝ?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?地构建复杂的SQL查询语句Q提高开发效率?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> Navicat优势Q?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?下蝲ơ数最多的MySQL GUI工具?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?支持Mysql数据库新对象如事件?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?导入导出支持17U格式(slk,dif,wk1,wq1,rtf,mdb,sav,ldif{特D的格式Q?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?报表设计,打印?qing)定?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?l构同步Q数据同步速度快?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?调度Q创建Batch Job,讄d调度. 创徏一个设定的计划批处理工?以计划执行一个或多个定期的,指定开始及(qing)l束的日期及(qing)旉。批处理可以创徏的对象包括查询,报表打印Q备份,数据传送,数据同步Q导入和导出。发送计划工作的?sh)子邮g通知Q生通知?sh)子邮gl你指定的收件h?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?安装下蝲非常方便,速度很快?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> 功能~点Q?/p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?没有ER数据库模型工兗?可能不久有?</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?数据同步与结构同步时注意保持数据库版本的一致性?/p> <p><br /> l论</p> <p> <wbr> <wbr> <wbr> <wbr> <wbr> ?jng)场上对MySQL GUI的评Z各有U争Q作者观点:(x)没有l对的好坏,只有适合与不适合?/p> </div> <img src ="http://www.tkk7.com/lyjjq/aggbug/297831.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/lyjjq/" target="_blank">强强</a> 2009-10-12 00:15 <a href="http://www.tkk7.com/lyjjq/articles/297831.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>liunx mysqlhttp://www.tkk7.com/lyjjq/articles/68553.html强强强强Fri, 08 Sep 2006 08:59:00 GMThttp://www.tkk7.com/lyjjq/articles/68553.htmlhttp://www.tkk7.com/lyjjq/comments/68553.htmlhttp://www.tkk7.com/lyjjq/articles/68553.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/68553.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/68553.htmlliunx mysql

1.linux 休修改密?passwd

2.linux d用户 useradd

3:mysql 的安装目录在/usr/local/mysql?/p>

4.修改mysql用户的root权限:/usr/bin/mysqladmin -u root password 'new-password'

5.启动MySQLQ注意用用户ؓ(f)mysqlQ?
   /usr/local/mysql/bin/mysqld_safe --user=mysql

6.关闭数据?

 mysqladmin -uroot -pxxxx -hxxxxxxxxx  shutdown

7.创徏数据?/p>

 crate database  sms

8.创徏用户q且付所有权?/p>

GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY 'jiangjianqiang' WITH GRANT OPTION;

9.创徏用户,后付所有权?/p>

insert into user(host,user,password) values('localhost','test',PASSWORD('t'))Q?br /> grant all privileges on usertest.* to test;
flush privileges


如同g朋友说的定是否设了(jin)权限Q如果设?jin)还不行的?最好先d卸蝲mysql
1.rpm -qa|grep mysql
mysql......

2.rpm -e mysql....

3.重装,参见Qsd44兄的Q?a target="_blank">http://www.linuxsir.com/bbs/showthre...&threadid=2085

4. 初始?
安装l束后,初始化数据库

scripts/mysql_install_db
然后是设|权?br /> chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
(假定mysql装在/usr/local/mysql目录下,q行完scripts/mysql_install_db Q会(x)产生/usr/local/mysql/var 目录Q看有没?usr/local/mysql/var 目录Q这步很重要Q我前两ơ装因没d卸蝲mysql
l果p行完scripts/mysql_install_db 也找不到/usr/local/mysql/var 目录Q?br /> 所以chown -R mysql /usr/local/mysql/var 没能运行,l果出现楼ȝ问题Q不知你是不是这U情况,参考一下)(j)

5. ?root 讄密码

/usr/local/mysql/bin/mysqladmin -u root -p password 123456
回R后系l会(x)提示你输入当前密码,应该是像下面q样Q?
Enter password:
因ؓ(f)此时q没有密码,所以直接回车即可,q时没有M提示q回提示W状态,而密码已l设|完成?br />
6) 调试 自启?br />
pȝ启动时加载mysql
cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
cd /etc/rc.d/rc3.d
ln -s ../init.d/mysql S70mysql



强强 2006-09-08 16:59 发表评论
]]>
在linux自带mysql基础上再装新的mysqlhttp://www.tkk7.com/lyjjq/articles/44649.html强强强强Fri, 05 May 2006 08:22:00 GMThttp://www.tkk7.com/lyjjq/articles/44649.htmlhttp://www.tkk7.com/lyjjq/comments/44649.htmlhttp://www.tkk7.com/lyjjq/articles/44649.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/44649.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/44649.htmlrpm -q mysql;
rpm -e --nodeps mysql;

1.groupadd mysql
2.useradd -g mysql mysql
3.下蝲 mysql-standard-5.0.21-linux-i686-glibc23.tar.gz
4.攑ֈ/usr/local
5.tar -xvzf mysql-standard-5.0.21-linux-i686-glibc23.tar.gz
6.ln -s mysql****** mysql (解压后的mysql目录软连接成mysqlQ或者直接更名ؓ(f)mysql也可Q只是以后没办法看mysql版本)
7.chown -R mysql.mysql mysql (一定要?R)
8.执行一?/scripts/mysql_install_db --user=mysql (注意一定要?usr/local/mysql目录下执行该命o(h)Q不能到scripts下执行mysql_install_db,目录l构有关p?
9.q时在/usr/local/mysql/data 生成一个用h据库(mysql)和一个test数据?(一定要认)
10.?etc/my.cnf文g改名或删?
11.cd /usr/local/mysql/support-file
12.cp mysql.server /etc/rc.d/init.d/mysqld
13.cp my-huge.cnf ../data
14.所有操作都是用root?nbsp;
启动mysql用以下两U方式均?br />(1)/etc/rc.d/init.d/mysqld start 
(2)service mysqld start
15.修改root密码
 mysqladmin -u root password 'new-password'
16.创徏用户,后付所有权?br />

1 用于E序发布中,指定数据库,指定用户Q权限小不媄(jing)响工?E序和数据库服务器在同一台机器上,否则用指定IP或域?
grant select, insert, update, delete on notebase.* to nb@localhost identified by 'nb123';

不推荐?Q这h有的IP都能q接Q不q只能对notebase操作
grant select, insert, update, delete on notebase.* to nb@"%" identified by 'nb123';

2 用于E序开发中Q让指定开发h员的机器有最高访问权?br />grant ALL PRIVILEGES on *.* to root@"10.0.0.11" Identified by "root" WITH GRANT OPTION;

flush privileges

17.q入mysql
 mysql -uroot -p770511
18.关闭数据?
 mysqladmin -uroot -pxxxx -hxxxxxxxxx  shutdown
19(启动Q关闭,q接数据库时可能出现 无法扑ֈ/usr/lib/mysql/mysql.sock错误Q这是因为,机器本n自带的mysql 把socket通信文g指定?usr/lib/mysql/mysql.sockQ这时只要将本n自带的mysql和mysqladmin命o(h)文g删除Qƈ?usr/local/mysql/bin|入PATH环境变量卛_正常使用)



Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql/bin/mysqlbug script!

 



强强 2006-05-05 16:22 发表评论
]]>
mysql 初学指南http://www.tkk7.com/lyjjq/articles/9021.html强强强强Tue, 02 Aug 2005 06:08:00 GMThttp://www.tkk7.com/lyjjq/articles/9021.htmlhttp://www.tkk7.com/lyjjq/comments/9021.htmlhttp://www.tkk7.com/lyjjq/articles/9021.html#Feedback0http://www.tkk7.com/lyjjq/comments/commentRss/9021.htmlhttp://www.tkk7.com/lyjjq/services/trackbacks/9021.html

MYSQL初学者用指?/FONT>
2004-04-23 15:18 pm
作者:(x)作?BR>来自QLinux知识宝库
现蝲Q?/FONT>http://www.douzhe.com/linuxtips/1814.html
地址Q无?BR>
有很多朋友虽然安装好?jin)mysql但却不知如何使用它。在q篇文章中我们就从连接mysql?BR>修改密码、增加用L(fng)斚w来学?fn)一些mysql的常用命令?BR>
一、连接mysql?BR>格式Q?mysql -hL地址 -u用户?Qp用户密码
1??Q连接到本机上的mysql?BR>首先在打开DOSH口Q然后进入目录mysqlinQ再键入命o(h)mysql -uroot -pQ??BR>车后提示你输密码Q如果刚安装好mysqlQ超U用户root是没有密码的Q?故直接回
车即可进入到mysql中了(jin)Qmysql的提C符是:(x)mysql>
2??Q连接到q程L上的mysql。假设远E主机的IP为:(x)110.110.110.110Q?用户
名ؓ(f)root,密码为abcd123。则键入以下命o(h)Q?BR>mysql -h110.110.110.110 -uroot -pabcd123
Q注:u与root可以不用加空|其它也一P(j)
3?退出mysql命o(h)QexitQ回车)(j)

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

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


有关数据库方面的操作。注意:(x)你必首先登录到mysql中,以下操作都是在mysql的提
C符下进行的Q而且每个命o(h)以分L(fng)束?BR>
一、操作技?BR>1?如果你打命o(h)Ӟ回R后发现忘记加分号Q你无须重打一遍命令,只要打个分号?BR>车就可以?jin)。也是说你可以把一个完整的命o(h)分成几行来打Q完后用分号作结?BR>标志O(jin)K?BR>2?你可以用光标上下键调出以前的命令。但以前我用q的一个mysql旧版本不支持?BR>我现在用的是mysql-3.23.27-beta-win?BR>
二、显C命?BR>1?昄数据库列表?BR>show databases;
刚开始时才两个数据库Qmysql和test?mysql库很重要它里面有mysql的系l信息,
我们改密码和新增用户Q实际上是用这个库q行操作?BR>2?昄库中的数据表Q?BR>use mysqlQ?Q/打开库,学过FOXBASE的一定不?x)陌生?BR>show tables;
3?昄数据表的l构Q?BR>describe 表名;
4?建库Q?BR>create database 库名;
5?Q?BR>use 库名Q?BR>create table 表名(字段讑֮列表)Q?BR>6?删库和删?
drop database 库名;
drop table 表名Q?BR>7?表中记录清I:(x)
delete from 表名;
8?昄表中的记录:(x)
select * from 表名;

三、一个徏库和以及(qing)插入数据的实?BR>drop database if exists school; //如果存在SCHOOL则删?BR>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>insert into teacher values('','glchengang','深圳一?,'1976-10-10');
insert into teacher values('','jack','深圳一?,'1975-12-23');

注:(x)在徏表中
(1) ID设ؓ(f)长度?的数字字D?int(3)Qƈ让它每个记录自动加一: auto_incrementQ?BR>q不能ؓ(f)I?not nullQ而且让它成ؓ(f)dDprimary key
(2) NAME设ؓ(f)长度?0的字W字D?BR>(3) ADDRESS设ؓ(f)长度50的字W字D,而且~省gؓ(f)深圳。varchar和char有什么区?BR>呢,只有{以后的文章再说?jin)?
(4) YEAR设ؓ(f)日期字段?BR>如果你在mysql提示W键入上面的命o(h)也可以,但不方便调试?你可以将以上命o(h)
原样写入一个文本文件中假设为school.sqlQ然后复制到c:下,q在DOS状态进入目?BR>mysqlinQ然后键入以下命令:(x)
mysql -uroot -p密码 < c:school.sql
如果成功Q空Z行无M昄Q如有错误,?x)有提示。(以上命o(h)已经调试Q你
只要?/的注释去掉即可用)(j)?BR>
四、将文本数据转到数据库中
1?文本数据应符合的格式Q字D|据之间用tab键隔开Qnull值用来代ѝ例Q?BR>3 rose 深圳二中 1976-10-10
4 mike 深圳一?1975-12-23
2?数据传入命o(h)load data local infile "文g? into table 表名;
注意Q你最好将文g复制到mysqlin目录下,q且要先用use命o(h)选表所在的库?BR>
五、导出和导入数据Q?命o(h)在DOS的mysqlin目录下执?
导出?BR>mysqldump --opt school > school.sql
注释Q将数据库school中的表全部备份到school.sql文gQschool.sql是一个文本文Ӟ
文g名Q取,打开看看你会(x)有新发现?BR>mysqldump --opt school teacher student > school.teacher.student.sql
注释Q将数据库school中的teacher表和student表备份到school.teacher.student.sql?BR>Ӟschool.teacher.student.sql是一个文本文Ӟ文g名Q取,打开看看你会(x)有新发现?BR>
导入?BR>mysql
mysql>create database school;
mysql>use school;
mysql>source school.sql;
(或将school.sql换ؓ(f)school.teacher.sql / school.teacher.student.sql)

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

导入数据?BR>mysql < db1.db2.sql

复制数据?BR>mysqldump --all-databases > all-databases.sql
注释Q将所有数据库备䆾到all-databases.sql文gQall-databases.sql是一个文本文Ӟ
文g名Q取?BR>
导入数据?BR>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>其实mysql的对数据库的操作与其它的SQLcL据库大同异Q?(zhn)最好找本将SQL的书?BR>看。我在这里只介绍一些基本的Q其实我也就只懂q些?jin),呵呵?BR>最好的mysql教程q是"晏子"译的"mysql中文参考手?。不仅免费,每个相关|站都有
下蝲Q而且它是最权威的。可惜不?PHP4中文手册"那样是chm的格式, 在查扑և数命令的
时候不太方ѝ?BR>
3.打开数据库:(x)use dbnameQ?BR>昄所有数据库Qshow databases;
昄数据库mysql中所有的表:(x)先use mysqlQ然后show tables;
昄表的列信息:(x)describe user;(昄表mysql数据库中user表的信息Q;

4.创徏一个可以从M地方q接服务器的一个完全的用户Q但是必M用一个口令something做这?BR>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>REVOKE ALL PRIVILEGES ON *.* FROM root@"%";
USE mysql;
DELETE FROM user WHERE User="root" and Host="%";
FLUSH PRIVILEGES;

6. 创徏一个用户custom在特定客L(fng)weiqiong.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(jin)改变列aQ从INTEGER改ؓ(f)TINYINT NOT NULL(名字一?Q?BR>q且改变列bQ从CHAR(10)改ؓ(f)CHAR(20)Q同旉命名它,从b改ؓ(f)c:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

增加一个新TIMESTAMP列,名ؓ(f)dQ?BR>ALTER TABLE t2 ADD d TIMESTAMP;

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

删除列cQ?BR>ALTER TABLE t2 DROP COLUMN c;

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

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

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

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


全文l束

强强 2005-08-02 14:08 发表评论
]]>
վ֩ģ壺 ƵĻ| ҹƬ߹ۿ| ߳Ƶ| heyzoרۺ| ԺԺҳ| Ʒѹۿ| պAVһ | Ʒһʽâ | һ234վ | ޾Ʒרþͬ| 99þѿƷ| պǧ| ޹պһ| ߲Ѳ| þþƷëƬѹۿ| һëƬѹۿ| Ļav| ҹþþþüŮӰԺ| ŮݽƵѿ| þþƷëƬѹۿ| ƷһƵ߹ۿ| Ʒ޾Ʒۿ| avַ| ѿһƬ| ŷǾƷһ| պĻƵ| ŮƵѹۿվ| ޱAAAר| ޾ƷӰԺþþþþ| ҹƷţӰ| ִˬֻƵƵ | ŷAV| ɫþAVۺ| ۺվɫɫ| ްv2017| AëƬѹۿAVվ| պѸƬ| ɫҹƵ| žƵƵѹۿ| ¾þþƷ| ͵͵APP|