<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[mysql入门学习(授权)]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[数据库技术]]></category>
<pubDate>Mon, 04 Sep 2006 00:16:22 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	一、连接mysql。<br/>格式： mysql -h主机地址 -u用户名 －p用户密码 <br/>1、 例1：连接到本机上的mysql。<br/>首先在打开DOS窗口，然后进入目录mysql&#92;bin，再键入命令mysql -uroot -p， 回车后提示你输密码，如果刚安装好mysql，超级用户root是没有密码的， 故直接回车即可进入到mysql中了，mysql的提示符是：mysql> <br/>2、 例2：连接到远程主机上的mysql。假设远程主机的IP为：110.110.110.110， 用户名为root,密码为abcd123。则键入以下命令： mysql -h110.110.110.110 -u root -pabcd123 （注:u与root可以不用加空格，其它也一样）<br/>3、 退出mysql命令：exit（回车） <br/>二、修改密码。<br/>格式：mysqladmin -u用户名 -p旧密码 password 新密码 <br/>1、 例1：给root加个密码ab12。<br/>首先在DOS下进入目录mysqlbin，然后键入以下命令 mysqladmin -uroot password ab12 <br/>注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。 <br/>2、 例2：再将root的密码改为djg345。 mysqladmin -uroot -pab12 password djg345 <br/> &nbsp; 另一种方法： shell>mysql -u root -p mysql>SET PASSWORD FOR root=PASSWORD("root"); <br/>三、增加新用户。<br/>（注意：和上面不同，下面的因为是mysql环境中的命令， 所以后面都带一个分号作为命令结束符）<br/>格式：grant select on 数据库.* to 用户名@登录主机 identified by "密码" <br/>例1、增加一个用户test1密码为abc，让他可以在任何主机上登录， 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql，然后键入以下命令： grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; 但例1增加的用户是十分危险的，你想如某个人知道test1的密码，那么他就可以在 internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了，解决办法见例2。<br/>例2、增加一个用户test2密码为abc,让其只可以在localhost上登录， 并可以对数据库 mydb进行查询、插入、修改、删除的操作（localhost指本地主机， 即mysql数据库所在的那台主机），这样用户即使用知道test2的密码，也无法从internet上直接访问数据库，只能通过mysql主机上的web页来访问了。 grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 如果你不想test2有密码，可以再打一个命令将密码消掉。 grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; 有关数据库方面的操作。<br/>注意：你必须首先登录到mysql中，以下操作都是在mysql的提示符下进行的，而且每个命令以分号结束。 <br/>一、操作技巧 <br/>1、 如果你打命令时，回车后发现忘记加分号，你无须重打一遍命令，只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打，完后用分号作结束标志就OK。<br/>2、 你可以使用光标上下键调出以前的命令。但以前我用过的一个mysql旧版本不支持。我现在用的是mysql-3.23.27-beta-win。 <br/>3.打开数据库：use dbname；显示所有数据库：show databases; 显示数据库mysql中所有的表：先use mysql；然后show tables; 显示表的列信息：describe user;(显示表mysql数据库中user表的信息）；<br/>4.创建一个可以从任何地方连接服务器的一个完全的超级用户，但是必须使用一个口令something做这个 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; <br/>5.删除授权： REVOKE ALL PRIVILEGES ON *.* FROM root@"%"; USE mysql; DELETE FROM user WHERE User="root" and Host="%"; FLUSH PRIVILEGES; <br/>6. 创建一个用户custom在特定客户端weiqiong.com登录，可访问特定数据库bankaccount mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON bankaccount.* TO custom@weiqiong.com IDENTIFIED BY 'stupid'; <br/>7.重命名表: ALTER TABLE t1 RENAME t2; 为了改变列a，从INTEGER改为TINYINT NOT NULL(名字一样)，并且改变列b，从CHAR(10)改为CHAR(20)，同时重命名它，从b改为c: ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20); 增加一个新TIMESTAMP列，名为d： ALTER TABLE t2 ADD d TIMESTAMP; 在列d上增加一个索引，并且使列a为主键： ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a); 删除列c： ALTER TABLE t2 DROP COLUMN c; 增加一个新的AUTO_INCREMENT整数列，命名为c： ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c); 注意，我们索引了c，因为AUTO_INCREMENT柱必须被索引，并且另外我们声明c为NOT NULL，因为索引了的列不能是NULL。 <br/>8.删除记录: DELETE FROM t1 WHERE C>10; 6.改变某几行: UPDATE t1 SET user=weiqiong,password=weiqiong; 7.使用name列的头10个字符创建一个索引: CREATE INDEX part_of_name ON customer (name(10)); 全文结束 文章评论 收藏本文 打印本文 返回列表 用PS制作LED风格的文字 20个漏洞未修复 IE浏览器又现新安全漏洞 最新文章 Mysql字段长度MySQL用户管理如何把ACCESS的数据导入到Mysq如何为用户设置密码(MYSQL)MySQL数据库备份谈谈数据从sql server数据库导使用MySql ODBC进行MYsql和MS 修改MySQL中一个用户的密码如何实现MySQL中的用户管理?如何恢复MYSQL的ROOT口令 推荐文章 修改MySQL中一个用户的密码如何恢复MYSQL的ROOT口令MYSQL出错代码列表MySQL 4.1.0 中文参考手册MySQL导出导入命令的用例MySQL中各种字段的取值范围快速上手MySQL - 图形化操作详MySQL修改密码方法总结 <br/>二、显示命令 <br/>1、 显示数据库列表。 show databases; 刚开始时才两个数据库：mysql和test。 mysql库很重要它里面有mysql的系统信息，我们改密码和新增用户，实际上就是用这个库进行操作。 <br/>2、 显示库中的数据表： use mysql； ／／打开库，学过FOXBASE的一定不会陌生吧 show tables; <br/>3、 显示数据表的结构： describe 表名;<br/>4、 建库： create database 库名; <br/>5、 建表： use 库名； create table 表名(字段设定列表)；<br/>6、 删库和删表: drop database 库名; drop table 表名；<br/>7、 将表中记录清空： delete from 表名;<br/>8、 显示表中的记录： select * from 表名;<br/> 三、一个建库和建表以及插入数据的实例 drop database if exists school; //如果存在SCHOOL则删除 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 ); //建表结束 //以下为插入字段 insert into teacher values('','glchengang','深圳一中','1976-10-10'); insert into teacher values('','jack','深圳一中','1975-12-23'); <br/>注：在建表中 <br/>(1) 将ID设为长度为3的数字字段:int(3)，并让它每个记录自动加一: auto_increment，并不能为空:not null，而且让它成为主字段primary key <br/>(2) 将NAME设为长度为10的字符字段 <br/>(3) 将ADDRESS设为长度50的字符字段，而且缺省值为深圳。varchar和char有什么区别呢，只有等以后的文章再说了。 <br/>(4) 将YEAR设为日期字段。如果你在mysql提示符键入上面的命令也可以，但不方便调试。 你可以将以上命令原样写入一个文本文件中假设为school.sql，然后复制到c:下，并在DOS状态进入目录 mysql&#92;bin，然后键入以下命令： mysql -uroot -p密码 < c:school.sql 如果成功，空出一行无任何显示；如有错误，会有提示。（以上命令已经调试，你只要将//的注释去掉即可使用）。 四、将文本数据转到数据库中 <br/>1、 文本数据应符合的格式：字段数据之间用tab键隔开，null值用来代替。例： 3 rose 深圳二中 1976-10-10 4 mike 深圳一中 1975-12-23 <br/>2、 数据传入命令load data local infile "文件名" into table 表名; 注意：你最好将文件复制到mysql&#92;bin目录下，并且要先用use命令选表所在的库。 <br/>五、导出和导入数据：<br/>(命令在DOS的mysql&#92;bin目录下执行) <br/>导出表 mysqldump --opt school > school.sql <br/>注释：将数据库school中的表全部备份到school.sql文件，school.sql是一个文本文件，文件名任取，打开看看你会有新发现。 <br/>mysqldump --opt school teacher student > school.teacher.student.sql <br/>注释：将数据库school中的teacher表和student表备份到school.teacher.student.sql文件，school.teacher.student.sql是一个文本文件，文件名任取，打开看看你会有新发现。 <br/>导入表 mysql mysql>create database school; mysql>use school; mysql>source school.sql; (或将school.sql换为school.teacher.sql / school.teacher.student.sql) <br/>导出数据库 mysqldump --databases db1 db2 > db1.db2.sql <br/>注释：将数据库dbl和db2备份到db1.db2.sql文件，db1.db2.sql是一个文本文件，文件名任取，打开看看你会有新发现。 <br/>(举个例子： mysqldump -h host -u user -p pass --databases dbname > file.dump 就是把host上的以名字user，口令pass的数据库dbname导入到文件file.dump中。) <br/>导入数据库 mysql < db1.db2.sql 复制数据库 mysqldump --all-databases > all-databases.sql <br/>注释：将所有数据库备份到all-databases.sql文件，all-databases.sql是一个文本文件，文件名任取。 <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) <br/><br/><br/>后记：其实mysql的对数据库的操作与其它的SQL类数据库大同小异， 最好找本将SQL的书看看。我在这里只介绍一些基本的，其实我也就只懂这些了，呵呵。最好的mysql教程还是"晏子"译的"mysql中文参考手册"。不仅免费，每个相关网站都有下载，而且它是最权威的。<br/>可惜不象"PHP4中文手册"那样是chm的格式， 在查找函数命令的时候不太方便。 <br/>Tags - <a href="http://www.dzhope.com/tags/mysql/" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.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.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>