<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[李勇]]></title> 
<link>http://www.kevinliyong.com/index.php</link> 
<description><![CDATA[当爱在靠近]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[李勇]]></copyright>
<item>
<link>http://www.kevinliyong.com/read.php?342</link>
<title><![CDATA[MYSQL 常用命令]]></title> 
<author>kevinliyong &lt;kevinliyong@163.com&gt;</author>
<category><![CDATA[MYSQL]]></category>
<pubDate>Wed, 28 Apr 2010 02:01:16 +0000</pubDate> 
<guid>http://www.kevinliyong.com/read.php?342</guid> 
<description>
<![CDATA[ 
	这篇日志被加密了。请到源地址输入密码后查看。
]]>
</description>
</item><item>
<link>http://www.kevinliyong.com/read.php?319</link>
<title><![CDATA[Linux下建立Mysql主从数据库]]></title> 
<author>kevinliyong &lt;kevinliyong@163.com&gt;</author>
<category><![CDATA[MYSQL]]></category>
<pubDate>Fri, 19 Mar 2010 06:47:17 +0000</pubDate> 
<guid>http://www.kevinliyong.com/read.php?319</guid> 
<description>
<![CDATA[ 
	　　环境介绍：主库 192.168.0.205 从库 192.168.0.206 <p>　　1、主库创建/etc/my.cnf，修改[mysqld]里边的键值打开 master项中</p><p>　　server-id=1</p><p>　　log-bin</p><p>　　2、主库增加用户，用于从库读取主库日志。</p><p>　　grant replication slave,reload,super on *.* to <a href="mailto:&lsquo;slave&rsquo;@&lsquo;192.168.0.206&rsquo;"><span style="color: #333333">&lsquo;slave&rsquo;@&lsquo;192.168.0.206&rsquo;</span></a> identified by &lsquo;123456&rsquo;</p><p>　　3、从库连接主库进行测试。</p><p>　　/opt/mysql/bin/mysql -u slave -p -h 192.168.0.205</p><p>　　4、停从库，修改从库/etc/my.cnf，增加选项：</p><p>　　[mysqld]</p><p>　　server-id=2</p><p>　　master-host=192.168.0.205</p><p>　　master-user=slave</p><p>　　master-password=123456</p><p>　　5、启动从库，进行主从库数据同步</p><p>　　/opt/mysql/share/mysql/mysql start</p><p>　　/opt/mysql/bin/mysql -u root -p</p><p>　　mysql&gt;load data from master;</p><p>　　说明：这一步也可以用数据库倒入或者直接目录考过来。</p><p>　　6、进行测试：</p><p>　　主库创建表，</p><p>　　mysql&gt;create database sampdb;</p><p>　　mysql&gt;create table new (name char(20),phone char(20));</p><p>　　mysql&gt;insert into new (&lsquo;abc,&rsquo;0532555555&lsquo;);</p><p>　　打开从库，察看：</p><p>　　/opt/mysql/bin/mysql -u root -p</p><p>　　mysql&gt;show database;</p><p>　　mysql</p><p>　　sampdb</p><p>　　test</p><p>　　mysql&gt;use sampdb;</p><p>　　mysql&gt;show tables;</p><p>　　new</p><p>　　说明主从数据库创建成功。</p><p>　　7、主从数据库相关命令：</p><p>　　slave stop; slave start ; 开始停止从数据库。</p><p>　　show slave status&#92;G; 显示从库正读取哪一个主数据库二进制日志。</p><p>　　purge master logs to &lsquo;binlog.000004&rsquo;; 此命令非常小心，删除主数据库没用的二进制日志文件。如果误删除，那么从库就没有办法自动更新了。</p><p>　　change master； 从服务器上修改参数使用。</p><br/>Tags - <a href="http://www.kevinliyong.com/tag.php?tag=mysql" rel="tag">mysql</a> , <a href="http://www.kevinliyong.com/tag.php?tag=%25E4%25B8%25BB%25E4%25BB%258E%25E5%25BA%2593" rel="tag">主从库</a>
]]>
</description>
</item><item>
<link>http://www.kevinliyong.com/read.php?236</link>
<title><![CDATA[[转]转换mysql低版本数据到mysql5]]></title> 
<author>kevinliyong &lt;kevinliyong@163.com&gt;</author>
<category><![CDATA[MYSQL]]></category>
<pubDate>Sun, 12 Apr 2009 02:50:55 +0000</pubDate> 
<guid>http://www.kevinliyong.com/read.php?236</guid> 
<description>
<![CDATA[ 
	<p>最近要给discuz论坛升级， 数据库是mysql4.0，mysql4.0以前的低版本不支持编码，数据都是Latin1编码的。新版论坛计划采用mysql5.1，gbk编码。</p><p>因为mysql版本相差太大，直接复制数据库文件的方法肯定不行，只能采用mysqldump。</p><p>步骤：</p><p>1. 将mysql4.0中数据导出成sql文件</p><blockquote><p>mysqldump &ndash;skip-extended-insert &ndash;default-character-set=latin1 dbname -q -uroot -ppassword &gt; dbname.sql</p></blockquote><p>加 &ndash;skip-extended-insert参数是为了将每条记录写成独立的insert into，以降低可能存在的导入时sql出错造成的损失</p><p>2. 在 dbname.sql 最前面加一句&nbsp; set names gbk</p><p>如果文件较小，直接vi dbname.sql后加；如果文件太大，可以 先建一个文件names.txt，里面写set names gbk; 然后用</p><blockquote><p>cat names.txt dbname.sql &gt; dbname_gbk.sql</p></blockquote><p>3. 将sql文件导入到mysql5中：</p><blockquote><p>mysql -uroot -ppassword -f dbname &lt; dbname.sql</p></blockquote><p>低版本中个别乱码造成可能造成sql报错而中断，加 -f 参数意思是如果出错，继续。 因为前面已经采用一条记录一个独立sql的方式，就算出错偶尔也就丢几条记录。</p><p>测试成功，一百万记录，中间就丢了2条。能接受。<br /><br />【原文地址】<a href="http://quwei.techweb.com.cn/archives/124.html"><a href="http://quwei.techweb.com.cn/archives/124.html" target="_blank">http://quwei.techweb.com.c...</a></a></p><br/>Tags - <a href="http://www.kevinliyong.com/tag.php?tag=mysql" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://www.kevinliyong.com/read.php?214</link>
<title><![CDATA[【SQL】插入 查询 一句搞定！]]></title> 
<author>kevinliyong &lt;kevinliyong@163.com&gt;</author>
<category><![CDATA[MYSQL]]></category>
<pubDate>Mon, 15 Dec 2008 02:07:49 +0000</pubDate> 
<guid>http://www.kevinliyong.com/read.php?214</guid> 
<description>
<![CDATA[ 
	insert into siteforupdate (`site_id`, `grade`, `snatch_time`) select id, grade, snatch_time FROM sites<br /><br />replace into siteforupdate (`site_id`, `grade`, `snatch_time`) select id, grade, snatch_time FROM sites<br /><br/>Tags - <a href="http://www.kevinliyong.com/tag.php?tag=mysql" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://www.kevinliyong.com/read.php?77</link>
<title><![CDATA[MYSQL的常用命令]]></title> 
<author>kevinliyong &lt;kevinliyong@163.com&gt;</author>
<category><![CDATA[MYSQL]]></category>
<pubDate>Thu, 28 Feb 2008 10:32:05 +0000</pubDate> 
<guid>http://www.kevinliyong.com/read.php?77</guid> 
<description>
<![CDATA[ 
	<span style="color: #990000"><br /><span style="font-size: small">一、连接MYSQL。<br /><br /><br />格式： mysql -h主机地址 -u用户名 －p用户密码<br /><br /><br /><br />1、例1：连接到本机上的MYSQL。<br /><br /><br />首先在打开</span></span><span style="font-size: small; color: #990000">DOS</span><span style="font-size: small; color: #990000">窗口，然后进入目录 mysqlbin，再键入命令mysql -uroot -p，回车后提示你输密码，如果刚安装好MYSQL，超级用户root是没有密码的，故直接回车即可进入到MYSQL中了，MYSQL的提示符是：mysql&gt;<br /><br />2、例2：连接到远程主机上的MYSQL。假设远程主机的IP为：110.110.110.110，用户名为root,密码为abcd123。则键入以下命令：<br /><br /><br />mysql -h110.110.110.110 -uroot -pabcd123<br /><br /><br />（注:u与root可以不用加空格，其它也一样）<br /><br /><br />3、退出MYSQL命令： exit （回车）<br /><br /><br />二、修改密码。<br /><br /><br />格式：mysqladmin -u用户名 -p旧密码 password 新密码<br /><br /><br />1、例1：给root加个密码ab12。首先在</span><a href="http://www.jcwcn.com/html/win98dos" target="_blank"><span style="font-size: small; color: #990000">DOS</span></a><span style="color: #990000"><span style="font-size: small">下进入目录mysqlbin，然后键入以下命令<br /><br /><br />mysqladmin -uroot -password ab12<br /><br /><br />注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。<br /><br /><br />2、例2：再将root的密码改为djg345。<br /><br /><br />mysqladmin -uroot -pab12 password djg345<br /><br /><br />三、增加新用户。（注意：和上面不同，下面的因为是MYSQL环境中的命令，所以后面都带一个分号作为命令结束符）<br /><br /><br />格式：grant select on 数据库.* to 用户名@登录主机 identified by &quot;密码&quot;<br /><br /><br />例1、增加一个用户test1密码为abc，让他可以在任何主机上登录，并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL，然后键入以下命令：<br /><br /><br />grant select,insert,update,delete on *.* to test1@&quot;%&quot; Identified by &quot;abc&quot;;<br /><br /><br />但例1增加的用户是十分危险的，你想如某个人知道test1的密码，那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了，解决办法见例2。<br /><br /><br />例2、增加一个用户test2密码为abc,让他只可以在localhost上登录，并可以对数据库mydb进行查询、插入、修改、删除的操作（localhost指本地主机，即MYSQL数据库所在的那台主机），这样用户即使用知道test2的密码，他也无法从internet上直接访问数据库，只能通过MYSQL主机上的web页来访问了。<br /><br /><br />grant select,insert,update,delete on mydb.* to test2@localhost identified by &quot;abc&quot;;<br /><br /><br />如果你不想test2有密码，可以再打一个命令将密码消掉。<br /><br /><br />grant select,insert,update,delete on mydb.* to test2@localhost identified by &quot;&quot;;<br /><br /><br />在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意：你必须首先登录到MYSQL中，以下操作都是在MYSQL的提示符下进行的，而且每个命令以分号结束。<br /><br /><br />一、操作技巧<br /><br /><br />1、如果你打命令时，回车后发现忘记加分号，你无须重打一遍命令，只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打，完后用分号作结束标志就OK。<br /><br /><br />2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。<br /><br /><br />二、显示命令<br /><br /><br />1、显示数据库列表。<br /><br /><br />show databases;<br /><br /><br />刚开始时才两个数据库：mysql和</span><a href="javascript:;" target="_self" onclick="return true;javascript:tagshow(event, 'test');"><u><strong><span style="font-size: small">test</span></strong></u></a><span style="font-size: small">。mysql库很重要它里面有MYSQL的系统信息，我们改密码和新增用户，实际上就是用这个库进行操作。<br /><br /><br />2、显示库中的数据表：<br /><br /><br />use mysql； ／／打开库，学过FOXBASE的一定不会陌生吧<br /><br /><br />show tables;<br /><br /><br />3、显示数据表的结构：<br /><br /><br />describe 表名;<br /><br /><br />4、建库：<br /><br /><br />create database 库名;<br /><br /><br />5、建表：<br /><br /><br />use 库名；<br /><br /><br />create table 表名 (字段设定列表)；<br /><br /><br />6、删库和删表:<br /><br /><br />drop database 库名;<br /><br /><br />drop table 表名；<br /><br /><br />7、将表中记录清空：<br /><br /><br />delete from 表名;<br /><br /><br />8、显示表中的记录：<br /><br /><br />select * from 表名;<br /><br /><br />三、一个建库和建表以及插入数据的实例<br /><br /><br />drop database if exists school; //如果存在SCHOOL则删除<br /><br /><br />create database school; //建立库SCHOOL<br /><br /><br />use school; //打开库SCHOOL<br /><br /><br />create table teacher //建立表TEACHER<br /><br /><br />(<br /><br /><br />id int(3) auto_increment not null primary key,<br /><br /><br />name char(10) not null,<br /><br /><br />address varchar(50) default '深圳',<br /><br /><br />year date<br /><br /><br />); //建表结束<br /><br /><br />//以下为插入字段<br /><br /><br />insert into teacher values('','glchengang','深圳一中','1976-10-10');<br /><br /><br />insert into teacher values('','jack','深圳一中','1975-12-23');<br /><br /><br />注：在建表中（1）将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key（2）将NAME设为长度为10的字符字段（3）将ADDRESS设为长度50的字符字段，而且缺省值为深圳。varchar和char有什么区别呢，只有等以后的文章再说了。（4）将YEAR设为日期字段。<br /><br /><br />如果你在mysql提示符键入上面的命令也可以，但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql，然后复制到c:下，并在</span></span><a href="http://www.jcwcn.com/html/win98dos" target="_blank"><span style="font-size: small; color: #990000">DOS</span></a><span style="font-size: small; color: #990000">状态进入目录mysqlbin，然后键入以下命令：<br /><br /><br />mysql -uroot -p密码 &lt; c:school.sql<br /><br /><br />如果成功，空出一行无任何显示；如有错误，会有提示。（以上命令已经调试，你只要将//的注释去掉即可使用）。<br /><br /><br />四、将文本数据转到数据库中<br /><br /><br />1、文本数据应符合的格式：字段数据之间用tab键隔开，null值用n来代替.<br /><br /><br />例：<br /><br /><br />3 rose 深圳二中 1976-10-10<br /><br /><br />4 mike 深圳一中 1975-12-23<br /><br /><br />2、数据传入命令 load data local infile &quot;文件名&quot; into table 表名;<br /><br /><br />注意：你最好将文件复制到mysqlbin目录下，并且要先用use命令打表所在的库。<br /><br /><br />五、备份数据库：（命令在</span><a href="http://www.jcwcn.com/html/win98dos" target="_blank"><span style="font-size: small; color: #990000">DOS</span></a><span style="font-size: small; color: #990000">的mysqlbin目录下执行）<br /><br /><br />mysqldump --opt school&gt;school.bbb<br /><br /><br />注释:将数据库school备份到school.bbb文件，school.bbb是一个文本文件，文件名任取，打开看看你会有新发现。<br /><br /><br />后记：其实MYSQL的对数据库的操作与其它的SQL类数据库大同小异，您最好找本将SQL的</span><a href="http://e.jcwcn.com/" target="_blank"><span style="font-size: small; color: #990000">书</span></a><span style="color: #990000"><span style="font-size: small">看看。我在这里只介绍一些基本的，其实我也就只懂这些了，呵呵。最好的MYSQL教程还是&quot;晏子&quot;译的&quot;MYSQL中文参考手册&quot;不仅免费每个相关网站都有</span><a href="javascript:;" target="_self" onclick="return true;javascript:tagshow(event, '%CF%C2%D4%D8');"><u><strong><span style="font-size: small">下载</span></strong></u></a><span style="font-size: small">，而且它是最权威的。可惜不是象&quot;</span></span><a href="http://www.jcwcn.com/html/PHP" target="_blank"><span style="color: #990000"><a href="javascript:;" target="_self" onclick="return true;javascript:tagshow(event, 'PHP');"><u><strong><span style="font-size: small">PHP</span></strong></u></a></span></a><a href="javascript:;" target="_self" onclick="return true;javascript:tagshow(event, 'PHP');"><u><strong><span style="font-size: small">PHP</span></strong></u></a><a href="javascript:;" target="_self" onclick="return true;javascript:tagshow(event, 'PHP');"><u><strong><span style="font-size: small">PHP</span></strong></u></a><a href="javascript:;" target="_self" onclick="return true;javascript:tagshow(event, 'PHP');"><u><strong><span style="font-size: small">PHP</span></strong></u></a><a href="javascript:;" target="_self" onclick="return true;javascript:tagshow(event, 'PHP');"><u><strong><span style="font-size: small">PHP</span></strong></u></a><span style="font-size: small; color: #990000">4中文手册&quot;那样是chm的格式，在查找函数命令的时候不太方便<br />SQL常用命令使用方法：<br /><br />(1) 数据记录筛选：<br /><br />sql=&quot;select * from 数据表 where 字段名=字段值 order by 字段名 [desc]&quot;<br /><br />sql=&quot;select * from 数据表 where 字段名 like %字段值% order by 字段名 [desc]&quot;<br /><br />sql=&quot;select top 10 * from 数据表 where 字段名 order by 字段名 [desc]&quot;<br /><br />sql=&quot;select * from 数据表 where 字段名 in ( 值1 , 值2 , 值3 )&quot;<br /><br />sql=&quot;select * from 数据表 where 字段名 between 值1 and 值2&quot;<br /><br />(2) 更新数据记录：<br /><br />sql=&quot;update 数据表 set 字段名=字段值 where 条件表达式&quot;<br /><br />sql=&quot;update 数据表 set 字段1=值1,字段2=值2 &hellip;&hellip; 字段n=值n where 条件表达式&quot;<br /><br />(3) 删除数据记录：<br /><br />sql=&quot;delete from 数据表 where 条件表达式&quot;<br /><br />sql=&quot;delete from 数据表&quot; (将数据表所有记录删除)<br /><br />(4) 添加数据记录：<br /><br />sql=&quot;insert into 数据表 (字段1,字段2,字段3 &hellip;) valuess (值1,值2,值3 &hellip;)&quot;<br /><br />sql=&quot;insert into 目标数据表 select * from 源数据表&quot; (把源数据表的记录添加到目标数据表)<br /><br />(5) 数据记录统计函数：<br /><br />AVG(字段名) 得出一个表格栏平均值<br />COUNT(*&#124;字段名) 对数据行数的统计或对某一栏有值的数据行数统计<br />MAX(字段名) 取得一个表格栏最大的值<br />MIN(字段名) 取得一个表格栏最小的值<br />SUM(字段名) 把数据栏的值相加<br /><br />引用以上函数的方法：<br /><br />sql=&quot;select sum(字段名) as 别名 from 数据表 where 条件表达式&quot;<br />set rs=conn.excute(sql)<br /><br />用 rs(&quot;别名&quot;) 获取统的计值，其它函数运用同上。<br /><br />(6) 数据表的建立和删除：<br /><br />CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) &hellip;&hellip; )<br /><br />例：CREATE TABLE tab01(name varchar(50),datetime default now())<br /><br />DROP TABLE 数据表名称 (永久性删除一个数据表)<br /><br />(7)记录集对象的方法：<br /><br />rs.movenext 将记录指针从当前的位置向下移一行<br />rs.moveprevious 将记录指针从当前的位置向上移一行<br />rs.movefirst 将记录指针移到数据表第一行<br />rs.movelast 将记录指针移到数据表最后一行<br />rs.absoluteposition=N 将记录指针移到数据表第N行<br />rs.absolutepage=N 将记录指针移到第N页的第一行<br />rs.pagesize=N 设置每页为N条记录<br />rs.pagecount 根据 pagesize 的设置返回总页数<br />rs.recordcount 返回记录总数<br />rs.bof 返回记录指针是否超出数据表首端，true表示是，false为否<br />rs.eof 返回记录指针是否超出数据表末端，true表示是，false为否<br />rs.delete 删除当前记录，但记录指针不会向下移动<br />rs.addnew 添加记录到数据表末端<br />rs.update 更新数据表记录</span><br/>Tags - <a href="http://www.kevinliyong.com/tag.php?tag=mysql" rel="tag">mysql</a> , <a href="http://www.kevinliyong.com/tag.php?tag=linux" rel="tag">linux</a>
]]>
</description>
</item>
</channel>
</rss>