<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[静怡家园]]></title> 
<link>http://www.zhanghaijun.com/index.php</link> 
<description><![CDATA[书山有路勤为径，学海无涯苦作舟！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[静怡家园]]></copyright>
<item>
<link>http://www.zhanghaijun.com/post//</link>
<title><![CDATA[命令行方式管理MySQL数据库实例]]></title> 
<author>碟舞飞扬 &lt;webmaster@zhanghaijun.com&gt;</author>
<category><![CDATA[Linux技术]]></category>
<pubDate>Fri, 20 May 2011 14:11:23 +0000</pubDate> 
<guid>http://www.zhanghaijun.com/post//</guid> 
<description>
<![CDATA[ 
	　　我一直习惯用phpMyAdmin对MySQL数据库进行管理，曾修改了一个《<a href="http://blog.s135.com/read.php/260.htm" target="_blank">可管理多台远程MySQL服务器的phpMyAdmin 2.10.2</a>》。但有些机器上因为安全等因素，只设置了允许从本机访问自身的MySQL端口，而且没有安装Apache和PHP，因而不能使用phpMyAdmin。于是，我只好使用命令行方式来对MySQL数据库进行管理。为了方便以后从命令行操作数据库可以更方便（拷贝、粘贴），我写下了这篇文章。<br/><br/>一、从命令行登录MySQL数据库服务器<br/>1、登录使用默认3306端口的MySQL<br/><br/>/usr/local/mysql/bin/mysql -u root -p<br/><br/>2、通过TCP连接管理不同端口的多个MySQL（注意：MySQL4.1以上版本才有此项功能）<br/><br/>/usr/local/mysql/bin/mysql -u root -p --protocol=tcp --host=localhost --port=3307<br/><br/>3、通过socket套接字管理不同端口的多个MySQL<br/><br/>/usr/local/mysql/bin/mysql -u root -p --socket=/tmp/mysql3307.sock<br/><br/>4、通过端口和IP管理不同端口的多个MySQL<br/><br/>/usr/local/mysql/bin/mysql -u root -p -P 3306 -h 127.0.0.1<br/><br/><br/>--------------------------------------------------------------------------------<br/><br/>二、数据库操作SQL语句<br/>1、显示服务器上当前存在什么数据库<br/><br/>SHOW DATABASES;<br/><br/>2、创建名称为rewin的数据库<br/><br/>CREATE DATABASE rewin;<br/><br/>3、删除名称为rewin的数据库<br/><br/>DROP DATABASE rewin;<br/><br/>4、选择rewin数据库<br/><br/>USE rewin;<br/><br/><br/>--------------------------------------------------------------------------------<br/><br/>三、表操作SQL语句（登录之后必须用以上的USE命令选择一个数据库，再进行表操作）<br/>1、显示当前数据库中存在什么表<br/><br/>SHOW TABLES;<br/><br/>2、创建数据库表zhangyan：在mysql>后粘贴以下SQL语句，存储引擎为MYISAM，字段id为主键、唯一索引。<br/><br/>CREATE TABLE `zhangyan` (<br/>`id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,<br/>`username` VARCHAR( 20 ) NOT NULL ,<br/>`password` CHAR( 32 ) NOT NULL ,<br/>`time` DATETIME NOT NULL ,<br/>`number` FLOAT( 10 ) NOT NULL ,<br/>`content` TEXT NOT NULL ,<br/>PRIMARY KEY ( `id` ) <br/>) ENGINE = MYISAM ;<br/><br/>3、查看zhangyan表结构<br/><br/>DESCRIBE zhangyan;<br/><br/>4、从表中检索信息<br/>4.1、从zhangyan表中检索所有记录<br/><br/>SELECT * FROM zhangyan;<br/><br/>4.2、从zhangyan表中检索特定的行：字段username等于abc，字段number等于1，按字段id降序排列<br/><br/>SELECT * FROM zhangyan WHERE username = 'abc' AND number='1' ORDER BY id DESC;<br/><br/>4.3、从zhangyan表中检索指定的字段：username和password<br/><br/>SELECT username, password FROM zhangyan;<br/><br/>4.4、从zhangyan表中检索出唯一的不重复记录：<br/><br/>SELECT DISTINCT username FROM zhangyan;<br/><br/>5、插入信息到zhangyan表<br/><br/>INSERT INTO zhangyan (id, username, password, time, number, content) VALUES ('', 'abc', '123456', '2007-08-06 14:32:12', '23.41', 'hello world');<br/><br/>6、更新zhangyan表中的指定信息<br/><br/>UPDATE zhangyan SET content = 'hello china' WHERE username = 'abc';<br/><br/>7、删除zhangyan表中的指定信息<br/><br/>DELETE FROM zhangyan WHERE id = 1;<br/><br/>8、清空zhangyan表<br/><br/>DELETE FROM zhangyan;<br/><br/>9、删除zhangyan表<br/><br/>DROP TABLE zhangyan;<br/><br/>10、更改表结构，将zhangyan表username字段的字段类型改为CHAR(25)<br/><br/>ALTER TABLE zhangyan CHANGE username username CHAR(25);<br/><br/>11、将当前目录下的mysql.sql导入数据库<br/><br/>SOURCE ./mysql.sql;<br/><br/><br/>--------------------------------------------------------------------------------<br/><br/>四、数据库权限操作SQL语句<br/>1、创建一个具有root权限，可从任何IP登录的用户sina，密码为zhangyan<br/><br/>GRANT ALL PRIVILEGES ON *.* TO 'sina'@'%' IDENTIFIED BY 'zhangyan';<br/><br/>2、创建一个具有“数据操作”、“结构操作”权限，只能从192.168.1.***登录的用户sina，密码为zhangyan<br/><br/>GRANT SELECT , INSERT , UPDATE , DELETE , FILE , CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES , CREATE VIEW , SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON *.* TO 'sina'@'192.168.1.%' IDENTIFIED BY 'zhangyan';<br/><br/>3、创建一个只拥有“数据操作”权限，只能从192.168.1.24登录，只能操作rewin数据库的zhangyan表的用户sina，密码为zhangyan<br/><br/>GRANT SELECT , INSERT , UPDATE , DELETE ON&nbsp;&nbsp;rewin.zhangyan TO 'sina'@'192.168.1.24' IDENTIFIED BY 'zhangyan';<br/><br/>4、创建一个拥有“数据操作”、“结构操作”权限，可从任何IP登录，只能操作rewin数据库的用户sina，密码为zhangyan<br/><br/>GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES , CREATE VIEW , SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON rewin.* TO 'sina'@'%' IDENTIFIED BY 'zhangyan';<br/><br/>5、删除用户<br/><br/>DROP USER 'sina'@'%';<br/><br/><br/>PS：如果想了解更多的MySQL操作资料，请参考<a href="http://dev.mysql.com/doc/refman/5.1/zh/" target="_blank">MySQL官方的中文参考手册</a><br/>[文章作者：张宴 本文版本：v1.0 最后修改：2007.08.06 出处：http://blog.s135.com]<br/>Tags - <a href="http://www.zhanghaijun.com/tags/mysql/" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://www.zhanghaijun.com/post//#blogcomment</link>
<title><![CDATA[[评论] 命令行方式管理MySQL数据库实例]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.zhanghaijun.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>