<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[linux 网卡交换（eth0与eth1交换）]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 02 Dec 2010 10:53:07 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：原因很简单，需要交换两块网卡的原因是mysql是Lamp打包软件的一个配置好的多网卡，应对两个网卡已经配置好了，而我是虚拟机，只能装一块网卡，于是否，出现如下问题：<br/><br/><div class="code">linux-Jack-Xiang:/usr/local/mysql/bin # ./mysqld_safe --user=mysql<br/>eth1: error fetching interface information: Device not found<br/>./mysqld_safe: line 24: &#91;: !=: unary operator expected</div><br/>我就需要换网卡了，或者修改eth0到eth1，呵呵。当然也可以修改mysql配置。<br/>本文说明：前提是已经安装了多片网卡的驱动，但是需要调整多片网卡的顺序（如将eth0和eth1交换名称交换）。<br/>方法一：<br/>1、首先查看网卡的驱动名称<br/>#dmesg &#124;grep eth <br/>就会出现如下字样：<br/>&nbsp;&nbsp;skge eth0: Link is up at 100 Mbps, full duplex, flow control tx and rx<br/>&nbsp;&nbsp;ATL2: eth1 NIC Link is Up&lt;100 Mbps Full Duplex&gt;<br/>从上面的两行中可以看出安装的驱动为skge 和atl2<br/>或者通过查看文件得知 #cat /etc/modprobe.conf<br/>出现如下字样：<br/>alias eth0 skge<br/>alias eth1 ATL2<br/>也可以看出驱动名称。<br/>查询后，可以通过命令检查是否正确，注意大小写。<br/># lsmod &#124;grep -E &quot;atl2&#124;skge&quot;<br/>atl2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 37656&nbsp;&nbsp;0<br/>skge&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40017&nbsp;&nbsp;0<br/>2、直接删除加载的驱动。<br/>#rmmod skge<br/>#rmmod atl2<br/>3、重新加载驱动顺序（先加载的驱动，网卡名字为eth0，后加载的驱动，名字为eth1, ...）。<br/>先切换到驱动安装的路径下。如下格式所示<br/># cd /lib/modules/2.6.18-164.el5xen/kernel/drivers/net<br/>即可看见驱动程序<br/>#ls &#124;grep -E &quot;atl2&#124;skge&quot;<br/>然后选择加载驱动顺序。<br/>#insmod atl2/atl2.ko<br/>#insmod skge.ko<br/>重新配置ip地址后，即可。<br/>方法二：<br/>直接修改配置文件&nbsp;&nbsp;这种方法速度最快<br/>1、首先停止网络服务<br/>#/etc/init.d/network stop 或者#service network stop<br/>2、切换到配置文件目录<br/>#cd /etc/sysconfig/network-scripts<br/>suse10 sp2：cd /etc/sysconfig/network/scripts/<br/>mv ifcfg-eth0 ifcfg-eth1 【这样不行】<br/>只好对mysql动刀了：ip=`/sbin/ifconfig eth1&#124;grep &quot;inet addr:&quot;&#124;awk -F &quot;:&quot; &#039;&#123; print $2 &#125;&#039;&#124;awk &#039;&#123; print $1 &#125;&#039;`<br/>变为：ip=`/sbin/ifconfig eth0&#124;grep &quot;inet addr:&quot;&#124;awk -F &quot;:&quot; &#039;&#123; print $2 &#125;&#039;&#124;awk &#039;&#123; print $1 &#125;&#039;`<br/><br/><div class="code">ip=`/sbin/ifconfig eth0&#124;grep &quot;inet addr:&quot;&#124;awk -F &quot;:&quot; &#039;&#123; print $2 &#125;&#039;&#124;awk &#039;&#123; print $1 &#125;&#039;`<br/>ippre=`echo $ip&#124;awk -F &quot;.&quot; &#039;&#123; print $1 &#125;&#039;`<br/>if &#91; $ippre != &quot;192&quot; &#93;;then<br/>&nbsp;&nbsp;&nbsp;&nbsp;if &#91; $ippre != &quot;10&quot; &#93;;then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;IP CONFIG IS WRONG,PLEASE CHECK FIRST!!!&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit<br/>&nbsp;&nbsp;&nbsp;&nbsp;fi<br/>fi</div><br/><br/>启动Mysql的问题解决如下，这儿是闲扯淡，但还是有写用处的，呵呵：<br/><br/>启动发现：权限不够<br/><br/><div class="code">101203 02:59:25&nbsp;&nbsp;mysqld started<br/>101203&nbsp;&nbsp;2:59:25&nbsp;&nbsp;InnoDB: Operating system error number 13 in a file operation.<br/>InnoDB: The error means mysqld does not have the access rights to<br/>InnoDB: the directory.<br/>InnoDB: File name ./ibdata1<br/>InnoDB: File operation call: &#039;create&#039;.<br/>InnoDB: Cannot continue operation.<br/>101203 02:59:25&nbsp;&nbsp;mysqld ended<br/><br/>cd /usr/local/mysql/ <br/>chown mysql.mysql *</div>再启动发现：<br/>101203&nbsp;&nbsp;3:04:11 [ERROR] Fatal error: Can&#039;t open and lock privilege tables: Table &#039;mysql.host&#039; doesn&#039;t exist<br/> 没有初始化mysql库：<br/><div class="code"> scripts/mysql_install_db --user=mysql</div>如下操作：<br/><div class="code"> linux-Jack-Xiang:/usr/local/mysql # find . -name &quot;mysql_install_db&quot;<br/>./bin/mysql_install_db<br/>linux-Jack-Xiang:/usr/local/mysql # cd bin/<br/>linux-Jack-Xiang:/usr/local/mysql/bin # ./mysql_install_db <br/>Installing all prepared tables<br/>Fill help tables<br/>To start mysqld at boot time you have to copy support-files/mysql.server</div>再启动发现：<br/>101203&nbsp;&nbsp;3:08:16 [ERROR] /usr/local/services/mysql-5.0.26/libexec/mysqld: Can&#039;t find file: &#039;./mysql/host.frm&#039; (errno: 13)<br/>在find -iname &#039;*host.frm*&#039;里知道host.frm是在mysql的系统表里，进行系统表查看权限：<br/><br/><div class="code">linux-Jack-Xiang:/usr/local/mysql/var/mysql # ll host.*<br/>-rw-rw---- 1 root root&nbsp;&nbsp;&nbsp;&nbsp;0 Dec&nbsp;&nbsp;3 03:11 host.MYD<br/>-rw-rw---- 1 root root 1024 Dec&nbsp;&nbsp;3 03:11 host.MYI<br/>-rw-rw---- 1 root root 9416 Dec&nbsp;&nbsp;3 03:11 host.frm</div>晕，原来真是权限问题：（特别注意：mysql这个目录也需要是mysql权限的，我发现是root的，最后和下面三行修改权限的方式才启动mysql成功！）<br/><br/><div class="code">&#91;ROOT mysql&#93;$ chown mysql *<br/>&#91;ROOT mysql&#93;$ chgrp mysql *<br/>&#91;ROOT mysql&#93;$ chmod ug+rwx *</div>启动后如下：<br/><br/><div class="code">linux-Jack-Xiang:/usr/local/mysql/var # ps aux&#124;grep mysql<br/>root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2233&nbsp;&nbsp;0.0&nbsp;&nbsp;0.1&nbsp;&nbsp; 2808&nbsp;&nbsp;1312 pts/1&nbsp;&nbsp;&nbsp;&nbsp;T&nbsp;&nbsp;&nbsp;&nbsp;03:18&nbsp;&nbsp; 0:00 /bin/sh ./mysqld_safe --user=mysql<br/>mysql&nbsp;&nbsp;&nbsp;&nbsp; 2265&nbsp;&nbsp;0.1&nbsp;&nbsp;7.3 517108 56976 pts/1&nbsp;&nbsp;&nbsp;&nbsp;Sl&nbsp;&nbsp; 03:18&nbsp;&nbsp; 0:00 /usr/local/services/mysql-5.0.26/libexec/mysqld --basedir=/usr/local/services/mysql-5.0.26 --datadir=/usr/local/services/mysql-5.0.26/var --user=mysql --pid-file=/usr/local/services/mysql-5.0.26/var/linux-Jack-Xiang.pid --skip-external-locking --port=3306 --socket=/tmp/mysql.sock</div><br/>————————————————————————————————————————————————————————<br/><br/><br/>3、交换ethx文件<br/>如：有两片网卡eth0和eth1<br/>#mv ifcfg-eth0 ifcfg-eth5<br/>#mv ifcfg-eth1 ifcfg-eth0<br/>#mv ifcfg-eth5 ifcfg-eth1<br/>交换文件后，还需要编辑ifcfg-ethx文件中的 DEVICE=ethx，如：将ifcfg-eth0文件中的DEVICE对应eth0，将ifcfg-eth1文件中的DEVICE对应eth1。<br/>修改完成后，重新启动network服务即可。<br/>来源：http://wscyza.blog.51cto.com/898495/282552
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] linux 网卡交换（eth0与eth1交换）]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>