<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://pic1.liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://pic1.liuxinxiu.com:80/s//</link>
<title><![CDATA[Linux系统下启动MySQL的命令及相关知识]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[数据库技术]]></category>
<pubDate>Mon, 13 Sep 2010 02:46:45 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s//</guid> 
<description>
<![CDATA[ 
	<p>一、总结一下：<br />1.Linux系统下启动MySQL的命令：<br />mysqladmin start<br />/ect/init.d/mysql start (前面为mysql的安装路径)<br />2.linux下重启mysql的命令：<br />mysqladmin restart<br />/ect/init.d/mysql restart (前面为mysql的安装路径)<br />3.linux下关闭mysql的命令：<br />mysqladmin shutdown<br />/ect/init.d/mysql&nbsp; &nbsp;shutdown (前面为mysql的安装路径)<br />4.连接本机上的mysql：<br />进入目录mysql&#92;bin，再键入命令mysql -uroot -p， 回车后提示输入密码。<br />退出mysql命令：exit（回车）<br />5.修改mysql密码：<br />mysqladmin -u用户名 -p旧密码 password 新密码<br />或进入mysql命令行SET PASSWORD FOR root=PASSWORD(&quot;root&quot;);<br />6.增加新用户。（注意：mysql环境中的命令后面都带一个分号作为命令结束符）<br />grant select on 数据库.* to 用户名@登录主机 identified by &quot;密码&quot;<br />如增加一个用户test密码为123，让他可以在任何主机上登录，并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql，然后键入以下命令：<br />grant select,insert,update,delete on *.* to &quot; Identified by &quot;123&quot;;<br />二、有关MySQL数据库方面的操作<br />必须首先登录到mysql中，有关操作都是在mysql的提示符下进行，而且每个命令以分号结束<br />1、显示数据库列表。<br />show databases;<br />2、显示库中的数据表：<br />use mysql； ／／打开库<br />show tables;<br />3、显示数据表的结构：<br />describe 表名;<br />4、建库：<br />create database 库名;<br />5、建表：<br />use 库名；<br />create table 表名(字段设定列表)；<br />6、删库和删表:<br />drop database 库名;<br />drop table 表名；<br />7、将表中记录清空：<br />delete from 表名;<br />8、显示表中的记录：<br />select * from 表名;<br />9、编码的修改<br />如果要改变整个mysql的编码格式：<br />启动mysql的时候，mysqld_safe命令行加入<br />--default-character-set=gbk<br />如果要改变某个库的编码格式：在mysql提示符后输入命令<br />alter database db_name default character set gbk;<br />三、数据的导入导出<br />1、文本数据转到数据库中<br />文本数据应符合的格式：字段数据之间用tab键隔开，null值用来代替。例：<br />1 name duty 2006-11-23<br />数据传入命令 load data local infile &quot;文件名&quot; into table 表名;<br />2、导出数据库和表<br />mysqldump --opt news &gt; news.sql（将数据库news中的所有表备份到news.sql文件，news.sql是一个文本文件，文件名任取。）<br />mysqldump --opt news author article &gt; author.article.sql（将数据库news中的author表和article表备份到author.article.sql文件， author.article.sql是一个文本文件，文件名任取。）<br />mysqldump --databases db1 db2 &gt; news.sql（将数据库dbl和db2备份到news.sql文件，news.sql是一个文本文件，文件名任取。）<br />mysqldump -h host -u user -p pass --databases dbname &gt; file.dump<br />就是把host上的以名字user，口令pass的数据库dbname导入到文件file.dump中<br />mysqldump --all-databases &gt; all-databases.sql（将所有数据库备份到all-databases.sql文件，all-databases.sql是一个文本文件，文件名任取。）<br />3、导入数据<br />mysql source news.sql;（在mysql命令下执行，可导入表）<br />一、连接MySQL<br />格式： mysql -h主机地址 -u用户名 －p用户密码<br />1、例1：连接到本机上的MYSQL。<br />首先在打开DOS窗口，然后进入目录 mysqlbin，再键入命令mysql -uroot -p，回车后提示你输密码，如果刚安装好MYSQL，超级用户root是没有密码的，故直接回车即可进入到MYSQL中了，MYSQL的提示符是： mysql&gt;。<br />2、例2：连接到远程主机上的MYSQL。假设远程主机的IP为：110.110.110.110，用户名为root,密码为abcd123。则键入以下命令：<br />mysql -h110.110.110.110 -uroot -pabcd123<br />（注:u与root可以不用加空格，其它也一样）<br />3、退出MYSQL命令： exit （回车）。<br />二、修改密码<br />格式：mysqladmin -u用户名 -p旧密码 password 新密码<br />1、例1：给root加个密码ab12。首先在DOS下进入目录mysqlbin，然后键入以下命令：<br />mysqladmin -uroot -password ab12<br />注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。<br />2、例2：再将root的密码改为djg345。<br />mysqladmin -uroot -pab12 password djg345<br />三、增加新用户。（注意：和上面不同，下面的因为是MySQL环境中的命令，所以后面都带一个分号作为命令结束符）<br />格式：grant select on 数据库.* to 用户名@登录主机 identified by &#92;&quot;密码&#92;&quot;<br />例1、增加一个用户test1密码为abc，让他可以在任何主机上登录，并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL，然后键入以下命令：<br />grant select,insert,update,<br />delete on *.* to test1@&#92;&quot;%&#92;&quot; Identified by &#92;&quot;abc&#92;&quot;;<br />但例1增加的用户是十分危险的，你想如某个人知道test1的密码，那么他就可以在internet上的任何一台电脑上登录你的MySQL数据库并对你的数据可以为所欲为了，解决办法见例2。<br />例2、增加一个用户test2密码为abc,让他只可以在localhost上登录，并可以对数据库mydb进行查询、插入、修改、删除的操作 （localhost指本地主机，即MySQL数据库所在的那台主机），这样用户即使用知道test2的密码，他也无法从internet上直接访问数据 库，只能通过MySQL主机上的web页来访问。<br />grant select,insert,update,<br />delete on mydb.* to test2@localhost identified by &#92;&quot;abc&#92;&quot;;<br />如果你不想test2有密码，可以再打一个命令将密码消掉。<br />grant select,insert,update,delete on mydb<br />.* to test2@localhost identified by &#92;&quot;&#92;&quot;;<br />在上面讲了登录、增加用户、密码更改等问题。下面我们来看看MySQL中有关数据库方面的操作。注意：你必须首先登录到MySQL中，以下操作都是在MySQL的提示符下进行的，而且每个命令以分号结束。<br />一、操作技巧<br />1、如果你打命令时，回车后发现忘记加分号，你无须重打一遍命令，只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打，完后用分号作结束标志就完成。<br />2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MySQL旧版本不支持。我现在用的是mysql-3.23.27-beta-win。<br />二、显示命令<br />1、显示数据库列表：<br />show databases;<br />刚开始时才两个数据库：mysql和test。MySQL库很重要它里面有MYSQL的系统信息，我们改密码和新增用户，实际上就是用这个库进行操作。<br />2、显示库中的数据表：<br />use mysql； ／／打开库，学过FOXBASE的一定不会陌生吧<br />show tables;<br />3、显示数据表的结构：<br />describe 表名;<br />4、建库：<br />create database 库名;<br />5、建表：<br />use 库名；<br />create table 表名 (字段设定列表)；<br />6、删库和删表:<br />drop database 库名;<br />drop table 表名；<br />7、将表中记录清空：<br />delete from 表名;<br />8、显示表中的记录：<br />select * from 表名;<br />三、一个建库和建表以及插入数据的实例<br />drop database if exists school; //如果存在SCHOOL则删除<br />create database school; //建立库SCHOOL<br />use school; //打开库SCHOOL<br />create table teacher //建立表TEACHER<br />(<br />id int(3) auto_increment not null primary key,<br />name char(10) not null,<br />address varchar(50) default &rsquo;深圳&rsquo;,<br />year date<br />); //建表结束<br />//以下为插入字段<br />insert into teacher values(&rsquo;&rsquo;,&rsquo;glchengang&rsquo;,&rsquo;深圳一中&rsquo;,&rsquo;1976-10-10&rsquo;);<br />insert into teacher values(&rsquo;&rsquo;,&rsquo;jack&rsquo;,&rsquo;深圳一中&rsquo;,&rsquo;1975-12-23&rsquo;);<br />注：在建表中（1）将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key（2）将NAME设为长度为10的字符字段（3）将ADDRESS设为长度50的字符字段，而且缺省值为深圳。varchar和char有什么区别 呢，只有等以后的文章再说了。（4）将YEAR设为日期字段。<br />如果你在MySQL提示符键入上面的命令也可以，但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql，然后复制到c:&#92;&#92;下，并在DOS状态进入目录&#92;&#92;mysql&#92;&#92;bin，然后键入以下命令：<br />mysql -uroot -p密码 school.bbb<br />mysqldump --opt school&gt;school.bbb<br />（命令在DOS的&#92;&#92;mysql&#92;&#92;bin目录下执行）<br />注释:将数据库school备份到school.bbb文件，school.bbb是一个文本文件，文件名任取，打开看看你会有新发现。<br />后记：其实MySQL的对数据库的操作与其它的SQL类数据库大同小异，您最好找本将SQL的书看看。我在这里只介绍一些基本的，其实我也就只懂这 些了，呵呵。最好的MYSQL教程还是&ldquo;晏子&ldquo;译的&ldquo;MYSQL中文参考手册&ldquo;不仅免费每个相关网站都有下载，而且它是最权威的。可惜不是象&#92;&quot;PHP4 中文手册&#92;&quot;那样是chm的格式，在查找函数命令的时候不太方便。<br />2、修改登录密码<br />1) mysqladmin -u用户名 -p旧密码 password 新密码:<br />例：mysqladmin -u root password 21century<br />注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。<br />2)直接修改user表的root用户口令：<br />mysql&gt; user mysql;<br />mysql&gt; update user set pasword=password(''21century'') where user=''root'';<br />mysql&gt; flush privileges;<br />注：flush privileges的意思是强制刷新内存授权表，否则用的还是缓冲中的口令。<br />3、测试密码是否修改成功:<br />1）不用密码登录:<br />[root@test1 local]# mysql<br />ERROR 1045: Access denied for user: ''root@localhost'' (Using password: NO)<br />显示错误，说明密码已经修改。<br />2）用修改后的密码登录:<br />[root@test1 local]# mysql -u root -p<br />Enter password: (输入修改后的密码21century)<br />Welcome to the MySQL monitor. Commands end with ; or &#92;g.<br />Your MySQL connection id is 177 to server version: 3.23.48<br />Type ''help;'' or ''&#92;h'' for help. Type ''&#92;c'' to clear the buffer.<br />mysql&gt;<br />成功！<br />这是通过mysqladmin命令修改口令，也可通过修改库来更改口令。<br />4、启动和停止:<br />启动：Mysql从3.23.15版本开始作了改动，默认安装后服务要用MySQL用户来启动，不允许root用户启动。<br />如果非要用root用户来启动，必须加上--user=root参数(./safe_mysqld --user=root &amp;)停止：mysqladmin -u root -p shutdown。<br />5、导出meeting数据库：<br />mysqldump -uroot -p21century meeting &gt; db_meeting.sql<br />导人dbname数据库:<br />mysqldump -uroot -p21century dbname <br />&nbsp;</p>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s//#blogcomment</link>
<title><![CDATA[[评论] Linux系统下启动MySQL的命令及相关知识]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>