<?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 04:55:45 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s//</guid> 
<description>
<![CDATA[ 
	<p>在MySQL安装程序的解压包/usr/local/mysql/support-files有一个叫myslq.server的启动脚本程序。把它复制到/etc/rc.d/init.d目录里面：</p><p># cd /etc/rc.d/init.d<br /># cp /usr/local/mysql/support-files/mysql.server mysql</p><p>接着把它的属性改为&ldquo;x&rdquo;（executable，可执行）</p><p># chmod +x mysql</p><p>最后，运行chkconfig把MySQL添加到你系统的启动服务组里面去。</p><p>执行chkconfig --add mysql</p><p><br />############################################################################################</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在Linux下安装和使用MySQL</p><p>&nbsp;</p><p>一、引言</p><p>　　想使用Linux已经很长时间了，由于没有硬性任务一直也没有系统学习，近日由于工作需要必须使用Linux</p><p>下的MySQL。本以为有Windows下使用SQL Server的经验，觉得在Linux下安装MySql应该是易如反掌的事，可在</p><p>真正安装和使用MySQL时走了很多弯路，遇见很多问题，毕竟Linux和Windows本身就有很大区别。为了让和我一</p><p>样的初学者在学习的过程中少走弯路，尽快入门，写了此文，希望对您有所帮助。本文的Linux环境是Red Hat</p><p>9.0，MySQL是4.0.16。</p><p>　　二、安装Mysql</p><p>　　1、下载MySQL的安装文件<br />安装MySQL需要下面两个文件：<br />MySQL-server-4.0.16-0.i386.rpm　　　 <br />MySQL-client-4.0.16-0.i386.rpm<br />下载地址为：<a href="http://www.mysql.com/downloads/mysql-4.0.html">http://www.mysql.com/downloads/mysql-4.0.html</a>， 打开此网页，下拉网页找到&ldquo;Linux</p><p>x86 RPM downloads&rdquo;项，找到&ldquo;Server&rdquo;和&ldquo;Client programs&rdquo;项，下载需要的上述两个rpm文件。</p><p>　　2、安装MySQL<br />rpm文件是Red Hat公司开发的软件安装包，rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在</p><p>安装时常用的参数是 &ndash;ivh ,其中i表示将安装指定的rmp软件包，V表示安装时的详细信息，h表示在安装期间</p><p>出现&ldquo;#&rdquo;符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。<br />1）安装服务器端<br />在有两个rmp文件的目录下运行如下命令：<br />[root@test1 local]# rpm -ivh MySQL-server-4.0.16-0.i386.rpm<br />显示如下信息。<br />warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5<br />Preparing...　　　　　　　########################################### [100%]<br />1:MySQL-server　　　　　########################################### [100%]<br />。。。。。。（省略显示）<br />/usr/bin/mysqladmin -u root password 'new-password'<br />/usr/bin/mysqladmin -u root -h test1 password 'new-password'<br />。。。。。。（省略显示）<br />Starting mysqld daemon with databases from /var/lib/mysql<br />如出现如上信息，服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开，如打开表示服务</p><p>已经启动，安装成功。Mysql默认的端口是3306。<br />[root@test1 local]# netstat -nat<br />Active Internet connections (servers and established)<br />Proto Recv-Q Send-Q Local Address　　　　　 Foreign Address　　　　 State　　　<br />tcp　　0　　0 0.0.0.0:3306　　　　 0.0.0.0:*　　　　　 LISTEN　　　<br />上面显示可以看出MySQL服务已经启动。<br />2）安装客户端<br />运行如下命令：<br />[root@test1 local]# rpm -ivh MySQL-client-4.0.16-0.i386.rpm<br />warning: MySQL-client-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5<br />Preparing...　　　　########################################### [100%]<br />1:MySQL-client　 ########################################### [100%]<br />显示安装完毕。<br />用下面的命令连接mysql,测试是否成功。<br />三、登录MySQL</p><p>　　登录MySQL的命令是mysql， mysql 的使用语法如下： <br />mysql [-u username] [-h host] [-p[password]] [dbname] <br />username 与 password 分别是 MySQL 的用户名与密码，mysql的初始管理帐号是root，没有密码，注意：</p><p>这个root用户不是Linux的系统用户。MySQL默认用户是root，由于初始没有密码，第一次进时只需键入mysql即</p><p>可。 <br />[root@test1 local]# mysql<br />Welcome to the MySQL monitor.　Commands end with ; or &#92;g.<br />Your MySQL connection id is 1 to server version: 4.0.16-standard<br />Type 'help;' or '&#92;h' for help. Type '&#92;c' to clear the buffer.<br />mysql&gt;<br />出现了&ldquo;mysql&gt;&rdquo;提示符，恭喜你，安装成功！<br />增加了密码后的登录格式如下：<br />mysql -u root -p <br />Enter password: (输入密码)<br />其中-u后跟的是用户名，-p要求输入密码，回车后在输入密码处输入密码。</p><p>　　注意：这个mysql文件在/usr/bin目录下，与后面讲的启动文件/etc/init.d/mysql不是一个文件。</p><p>　　四、MySQL的几个重要目录</p><p>　　MySQL安装完成后不象SQL Server默认安装在一个目录，它的数据库文件、配置文件和命令文件分别在不同</p><p>的目录，了解这些目录非常重要，尤其对于Linux的初学者，因为Linux本身的目录结构就比较复杂，如果搞不</p><p>清楚MySQL的安装目录那就无从谈起深入学习。</p><p>　　下面就介绍一下这几个目录。</p><p>　　1、数据库目录<br />/var/lib/mysql/</p><p>　　2、配置文件<br />/usr/share/mysql（mysql.server命令及配置文件）</p><p>　　3、相关命令<br />/usr/bin(mysqladmin mysqldump等命令)</p><p>　　4、启动脚本<br />/etc/rc.d/init.d/（启动脚本文件mysql的目录）</p><p>　五、修改登录密码</p><p>　　MySQL默认没有密码，安装完毕增加密码的重要性是不言而喻的。</p><p>　　1、命令<br />usr/bin/mysqladmin -u root password 'new-password'<br />格式：mysqladmin -u用户名 -p旧密码 password 新密码</p><p>　　2、例子<br />例1：给root加个密码123456。<br />键入以下命令 ：<br />[root@test1 local]# /usr/bin/mysqladmin -u root password 123456<br />注：因为开始时root没有密码，所以-p旧密码一项就可以省略了。</p><p>　　3、测试是否修改成功<br />1）不用密码登录<br />[root@test1 local]# mysql<br />ERROR 1045: Access denied for user: <a href="mailto:%27root@localhost%27">'root@localhost'</a> (Using password: NO)<br />显示错误，说明密码已经修改。<br />2）用修改后的密码登录<br />[root@test1 local]# mysql -u root -p <br />Enter password: (输入修改后的密码123456)<br />Welcome to the MySQL monitor.　Commands end with ; or &#92;g.<br />Your MySQL connection id is 4 to server version: 4.0.16-standard<br />Type 'help;' or '&#92;h' for help. Type '&#92;c' to clear the buffer.<br />mysql&gt;<br />成功！<br />这是通过mysqladmin命令修改口令，也可通过修改库来更改口令。</p><p>　　六、启动与停止</p><p>　　1、启动<br />MySQL安装完成后启动文件mysql在/etc/init.d目录下，在需要启动时运行下面命令即可。<br />[root@test1 init.d]# /etc/init.d/mysql start</p><p>　　2、停止<br />/usr/bin/mysqladmin -u root -p shutdown</p><p>　　3、自动启动<br />1）察看mysql是否在自动启动列表中<br />[root@test1 local]#　/sbin/chkconfig &ndash;list<br />2）把MySQL添加到你系统的启动服务组里面去<br />[root@test1 local]#　/sbin/chkconfig　&ndash; add　mysql<br />3）把MySQL从启动服务组里面删除。<br />[root@test1 local]#　/sbin/chkconfig　&ndash; del　mysql<br />七、更改MySQL目录</p><p>　　MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步：</p><p>　　1、home目录下建立data目录<br />cd /home<br />mkdir data</p><p>　　2、把MySQL服务进程停掉： <br />mysqladmin -u root -p shutdown</p><p>　　3、把/var/lib/mysql整个目录移到/home/data<br />mv /var/lib/mysql　/home/data/<br />这样就把MySQL的数据文件移动到了/home/data/mysql下</p><p>　　4、找到my.cnf配置文件<br />如果/etc/目录下没有my.cnf配置文件，请到/usr/share/mysql/下找到*.cnf文件，拷贝其中一个到/etc/</p><p>并改名为my.cnf)中。命令如下：<br />[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf　/etc/my.cnf</p><p>　　5、编辑MySQL的配置文件/etc/my.cnf<br />为保证MySQL能够正常工作，需要指明mysql.sock文件的产生位置。 修改</p><p>socket=/var/lib/mysql/mysql.sock一行中等号右边的值为：/home/mysql/mysql.sock 。操作如下：<br />vi　 my.cnf　　　 (用vi工具编辑my.cnf文件，找到下列数据修改之)<br /># The MySQL server<br />[mysqld]<br />port　　　= 3306<br />#socket　 = /var/lib/mysql/mysql.sock（原内容，为了更稳妥用&ldquo;#&rdquo;注释此行）<br />socket　 = /home/data/mysql/mysql.sock　　　（加上此行）</p><p>　　6、修改MySQL启动脚本/etc/rc.d/init.d/mysql<br />最后，需要修改MySQL启动脚本/etc/rc.d/init.d/mysql，把其中datadir=/var/lib/mysql一行中，等号右</p><p>边的路径改成你现在的实际存放路径：home/data/mysql。<br />[root@test1 etc]# vi　/etc/rc.d/init.d/mysql<br />#datadir=/var/lib/mysql　　　　（注释此行）<br />datadir=/home/data/mysql　　 （加上此行）</p><p>　　7、重新启动MySQL服务<br />/etc/rc.d/init.d/mysql　start<br />或用reboot命令重启Linux<br />如果工作正常移动就成功了，否则对照前面的7步再检查一下。</p><p>　　八、MySQL的常用操作</p><p>　　注意：MySQL中每个命令后都要以分号；结尾。</p><p>　　1、显示数据库<br />mysql&gt; show databases;<br />+----------+<br />&#124; Database &#124;<br />+----------+<br />&#124; mysql　　&#124;<br />&#124; test　　 &#124;<br />+----------+<br />2 rows in set (0.04 sec)<br />Mysql刚安装完有两个数据库：mysql和test。mysql库非常重要，它里面有MySQL的系统信息，我们改密码</p><p>和新增用户，实际上就是用这个库中的相关表进行操作。</p><p>　　2、显示数据库中的表<br />mysql&gt; use mysql; （打开库，对每个库进行操作就要打开此库，类似于foxpro ）<br />Database changed</p><p>　　mysql&gt; show tables;<br />+-----------------+<br />&#124; Tables_in_mysql &#124;<br />+-----------------+<br />&#124; columns_priv　　&#124;<br />&#124; db　　　　　　　&#124;<br />&#124; func　　　　　　&#124;<br />&#124; host　　　　　　&#124;<br />&#124; tables_priv　　 &#124;<br />&#124; user　　　　　　&#124;<br />+-----------------+<br />6 rows in set (0.01 sec)</p><p>　　3、显示数据表的结构： <br />describe 表名;</p><p>　　4、显示表中的记录： <br />select * from 表名;<br />例如：显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。<br />Select * from user;</p><p>　　5、建库： <br />create database 库名; <br />例如：创建一个名字位aaa的库<br />mysql&gt; create databases aaa;<br />6、建表： <br />use 库名； <br />create table 表名 (字段设定列表)；<br />例如：在刚创建的aaa库中建立表name,表中有id(序号，自动增长)，xm（姓名）,xb（性别）,csny（出身</p><p>年月）四个字段<br />use aaa;<br />mysql&gt; create table 111 (id int(3) auto_increment not null primary key, xm char(8),xb char</p><p>(2),csny date);<br />可以用describe命令察看刚建立的表结构。<br />mysql&gt; describe name;</p><p>　　+-------+---------+------+-----+---------+----------------+<br />&#124; Field &#124; Type　　&#124; Null &#124; Key &#124; Default &#124; Extra　　　　　&#124;<br />+-------+---------+------+-----+---------+----------------+<br />&#124; id　　&#124; int(3)　&#124;　　　&#124; PRI &#124; NULL　　&#124; auto_increment &#124;<br />&#124; xm　　&#124; char(8) &#124; YES　&#124;　　 &#124; NULL　　&#124;　　　　　　　　&#124;<br />&#124; xb　　&#124; char(2) &#124; YES　&#124;　　 &#124; NULL　　&#124;　　　　　　　　&#124;<br />&#124; csny　&#124; date　　&#124; YES　&#124;　　 &#124; NULL　　&#124;　　　　　　　　&#124;<br />+-------+---------+------+-----+---------+----------------+</p><p>　　7、增加记录<br />例如：增加几条相关纪录。<br />mysql&gt; insert into name values('','张三','男','1971-10-01');<br />mysql&gt; insert into name values('','白云','女','1972-05-20');<br />可用select命令来验证结果。<br />mysql&gt; select * from name;<br />+----+------+------+------------+<br />&#124; id &#124; xm　 &#124; xb　 &#124; csny　　　 &#124;<br />+----+------+------+------------+<br />&#124;　1 &#124; 张三 &#124; 男　 &#124; 1971-10-01 &#124;<br />&#124;　2 &#124; 白云 &#124; 女　 &#124; 1972-05-20 &#124;<br />+----+------+------+------------+</p><p>　　8、修改纪录<br />例如：将张三的出生年月改为1971-01-10<br />mysql&gt; update name set csny='1971-01-10' where xm='张三';</p><p>　　9、删除纪录<br />例如：删除张三的纪录。<br />mysql&gt; delete from name where xm='张三';</p><p>　　10、删库和删表 <br />drop database 库名; <br />drop table 表名；</p><p>　　九、增加MySQL用户</p><p>　　格式：grant select on 数据库.* to 用户名@登录主机 identified by &quot;密码&quot; <br />例1、增加一个用户user_1密码为123，让他可以在任何主机上登录，并对所有数据库有查询、插入、修改、删</p><p>除的权限。首先用以root用户连入MySQL，然后键入以下命令：</p><p>　　mysql&gt; grant select,insert,update,delete on *.* to <a href="mailto:user_1@%22%">user_1@&quot;%</a>&quot; Identified by &quot;123&quot;; <br />例1增加的用户是十分危险的，如果知道了user_1的密码，那么他就可以在网上的任何一台电脑上登录你的</p><p>MySQL数据库并对你的数据为所欲为了，解决办法见例2。</p><p>　　例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录，并可以对数据库aaa进行查询、</p><p>插入、修改、删除的操作（localhost指本地主机，即MySQL数据库所在的那台主机），这样用户即使用知道</p><p>user_2的密码，他也无法从网上直接访问数据库，只能通过MYSQL主机来操作aaa库。</p><p>　　mysql&gt;grant select,insert,update,delete on aaa.* to <a href="mailto:user_2@localhost">user_2@localhost</a> identified by &quot;123&quot;;</p><p>　　用新增的用户如果登录不了MySQL，在登录时用如下命令：</p><p>　　mysql -u user_1 -p　-h 192.168.113.50　（-h后跟的是要登录主机的ip地址）</p><p>　　十、备份与恢复</p><p>　　1、备份</p><p>　　例如：将上例创建的aaa库备份到文件back_aaa中</p><p>　　[root@test1 root]# cd　/home/data/mysql　(进入到库目录，本例库已由val/lib/mysql转</p><p>到/home/data/mysql，见上述第七部分内容)<br />[root@test1 mysql]# mysqldump -u root -p --opt aaa &gt; back_aaa</p><p>　　2、恢复</p><p>　　[root@test mysql]# mysql -u root -p ccc &lt; back_aaa</p><p>&nbsp;</p><p>############################################################################################</p><p><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 彻底卸载Mysql</p><p><br />rpm -qa&#124;grep -i mysql<br />把出来的东西都用rpm -e删除掉就好了！</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>