Linux各个目录作用

Linux的目录里都装些啥
/bin
       bin
binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cplscat,等等。

/boot        
  
 这里存放的是启动Linux时使用的一些核心文件。

/dev         
  
 devdevice(设备)的缩写。这个目录下是所有Linux的外部设备,其功能类似DOS下的.sysWin下的.vxd。在Linux中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。

/etc            
  这个目录用来存放系统管理所需要的配置文件和子目录。

/home        
  
 用户的主目录,比如说有个用户叫wang,那他的主目录就是/home/wang也可以用~wang表示。

/lib            
  
 这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用到这些共享库。

/lost+found
     这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于
DOS下的.chk文件。

/mnt         
  这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。

/proc         
  这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。

/root           
  系统管理员(也叫超级用户)的主目录。作为系统的拥有者,总要有些特权啊!比如单独拥有一个目录。

/sbin           
  s就是Super User的意思,也就是说这里存放的是系统管理员使用的管理程序。

/tmp           
  这个目录不用说,一定是用来存放一些临时文件的地方了。

/usr            
  这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。其中包含以下子目录;
  
   /usr/X11R6   存放X-Window的目录;
  /usr/bin                   存放着许多应用程序;
  /usr/sbin        给超级用户使用的一些管理程序就放在这里;
  /usr/doc                   这是Linux文档的大本营;
  /usr/include   Linux下开发和编译应用程序需要的头文件,在这里查找;
  /usr/lib                    存放一些常用的动态链接共享库和静态档案库;
  /usr/local        这是提供给一般用户的/usr目录,在这里安装软件最适合;
  /usr/man        manLinux中是帮助的同义词,这里就是帮助文档的存放目录;
  /usr/src                    Linux开放的源代码就存在这个目录,爱好者们别放过哦!

/var                这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。

linux下挂载iso文件

ISO镜像是一张cd或者DVD的镜像文件,它能被储存在你的电脑里,并且能用来写入一张新的光盘里。在UBUNTU下挂载并使用它是很简单的。

使用指南

在linux下默认的ISO挂载点位于"/media"目录,下面是挂载一个ISO文件的方法:

sudo mkdir /media/cdimage  #建立一个文件夹作为ISO挂载点
sudo mount -o loop myfile.iso /media/cdimage #挂载ISO文件,使用参数 -o loop

使用你想挂载的iso文件代替myfile.iso。

挂载一个镜像文件使之能被写入,使用下面的命令:

sudo mkdir /media/cdimage
sudo mount -o rw,loop myfile.iso /media/cdimage

卸载镜像文件:

sudo umount /media/cdimage
rmdir /media/cdimage

apt-get基本命令

       apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

  apt-get命令一般需要root权限执行,所以一般跟着sudo命令

例sudo apt-get xxxx

apt命令用法

apt-get update

       在修改/etc/apt/sources.list或/etc/apt/preferences之後运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。

apt-get install packagename

  安装一个新软件包(参见下文的aptitude

apt-get remove packagename

     卸载一个已安装的软件包(保留配置文档)卸载一个已安装的软件包(删除配置文档) 

apt-get –purge remove packagename

  

dpkg –force-all –purge packagename

  有些软件很难卸载,而且还阻止了别的软件的应用,就能够用这个,但是有点冒险。

apt-get autoclean apt

  会把已装或已卸的软件都备份在硬盘上,所以假如需要空间的话,能够让这个命令来删除您已删掉的软件 

apt-get clean

  这个命令会把安装的软件的备份也删除,但是这样不会影响软件的使用。 

apt-get upgrade

  更新任何已安装的软件包 

apt-get dist-upgrade

  将系统升级到新版本  

apt-cache search string

  在软件包列表中搜索字符串 列出任何和模式相匹配的软件包。假如您不知道软件包的全名,您能够使用“*package-name-pattern*”。

dpkg -l package-name-pattern

  

aptitude

  周详查看已安装或可用的软件包。和apt-get类似,aptitude能够通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于

  aptitude比apt-get了解更多信息,能够说他更适合用来进行安装和卸载。

apt-cache showpkg pkgs

  显示软件包信息。 打印可用软件包列表。

apt-cache dumpavail

  

apt-cache show pkgs

  显示软件包记录,类似于dpkg –print-avail。

apt-cache pkgnames

  打印软件包列表中任何软件包的名称。

dpkg -S file

  这个文档属于哪个已安装软件包。  列出软件包中的任何文档。   查找包含特定文档的软件包(不一定是已安装的),这些文档的文档名中含有指定的字符串。apt-file是个单独的软件包。您必须先使用apt-get install来安装他,然後运行apt-file update。假如apt-file search filename输出的内容太多,您能够尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文档名)或类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文档夹中的文档,假如您要查找的是某个特定的执行文档的话,这样做是有帮助的)。 定期运行这个命令来清除那些已卸载的软件包的.deb文档。通过这种方式,您能够释放大量的磁盘空间。假如您的需求十分迫切,能够使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文档一并删除。大多数情况下您不会再用到这些.debs文档,因此假如您为磁盘空间不足而感到焦头烂额,这个办法也许值得一试。

dpkg -L package

  

apt-file search filename

  

* apt-get autoclean

  

linux解压

Ubuntu下解压tar软件包的方法:

使用root限权解压:

tar.gz包的解压方法:
sudo tar zxvf file.tar.gz

bz2包的解压方法一:
sudo tar jxvf file.tar.bz2

bz2的解压方法二:
sudo bzip2 -de file.tar.bz2|tar xvf file.tar.bz2

tar.Z包的解压方法:
sudo uncompress file.tar.Z

普通用户解压不需要加sudo一样可以,解压后在使用make ; mak install时需加入sudo。

解压后编译:
sudo ./configure
make
make install

方法二:
sudo ./configure –prefix=/路径
make ; make install

方法三:
sudo ./configure –enable-static-link \
–prefix=$XXX/static –with-curses &&
make &&
make install

命令解释

–enable-static-link: 这个配置命令使bash被静态链接。

–prefix=$XXX/static:这个配置命令把Bash的所有文件安装到$XXX/static目录下,这个目录在chroot环境下或在最终的XXX系统中将成为 /static 目录。(XXX为用户)

–with-curses: 将bash链接到某一个库,正如LFS系统将它指向static这一个库。

其实静态链接的bash并不一定要链接到libncurses (也可以暂时链接到静态的termcap )但在LFS中不能这样做(关于LFS的方法可访问相关网站,此问题不在这一范围内)。

每行最后的&&用处很大,它使后一个命令仅在前一个命令返回值为0(表示正确执行)的情况下才执行。在所有的命令都是拷贝 &粘贴的情况下,我们必须保证如果./configure出错,make就不执行,同样地,如果 make 出错,make install就不执行,诸如此类。

以上方法三是构建LFS系统并编译软件的重要方法之一,事实上Linux系统包括在Unix系统中在cmd的上是共通的。

ubuntu下开启ssh

sudo apt-get install openssh-server

Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。

然后确认sshserver是否启动了:

ps -e |grep ssh

如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。

ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:

sudo /etc/init.d/ssh resar

ssh连接:ssh xjtu129@202.117.15.165
断开连接:exit

Ubuntu Linux下安装Zend Studio

Ubuntu娱乐功能已经非常不错,无非是看看电影,听听歌,玩玩小游戏。接下来研究下Ubuntu下安装zend,google一下还真是有Zend for Linux,于是下载了下来,下面就将我的安装配置过程图文并茂地展示给大家:

第 一步当然是解压zip,解压出来一个 bin 格式的安装文件, cp到我的用户目录home/ibm中,在终端地直接输入./ZendStudio-5_5_1.bin,安装便自动安装(需要jre支持,我已经提前安 装过了,安装命令是:sudo apt-get install sun-java6-jre sun-java6-jdk),过不了多久,便开始了界面安装,见图:

和Windows下的安装界面一样,一路NEXT即可。

请注意,在安装过程中可能会出现:

awk: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/bin/ls: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
hostname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

Launching installer…

grep: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/tmp/install.dir.17548/Linux/resource/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

这可能是因为你安装的java与系统不兼容的结果,你可以这样来解决在你的中端

$ cp ZendSafeGuard-4_0_0.bin ZendSafeGuard-4_0_0.bin.bak 
$ cat ZendSafeGuard-4_0_0.bin.bak | \
      sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > \
      ZendSafeGuard-4_0_0.bin

答案来源http://hi.baidu.com/i0n_p/blog/item/bb855909659d1eae2fddd473.html

安装完毕后,打开软件,查看了下软件信息,发现软件许可到期时间是2008年12月3日,也就是一个月时间的试用期;在编码区输入汉字,发现全是口口(乱码),见图:

不急,一个一个解决它!首先要破解软件许可日期,在网上找到了一个在线生成zend studio序列号的网站,网址:http://www.zendstudio.net/libs/zendstudio5_5_1-keymaker-php/

然后就是解决中文乱码问题,网上有一个不错的解决办法:

1. 创建文件夹fallback

mkdir zend安装目录/ZendStudio-5.5.1/jre/lib/fonts/fallback

2. 复制字体simsun.ttc(WINDOWS系统的Fonts目录下面有这个字体) 到fallback后名字为simsun.ttf程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛5x8t&C;I:X#g0d)m
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛’U0F#q2l6X(p#i&A
cp simsun.ttc zend安装目录/ZendStudio-5.5.1/jre/lib/fonts/fallback/simsun.ttfTechWeb-技术社区!b%u$?/X.n.\3[.W-p
tech.techweb.com.cn5[*L#A2{;s)M9o%O
从新启动Zend,乱码问题解决了,见图:

OK,Zend Studio安装好了,开始工作

Ubuntu 9.04 java6安装

对于每一个ubuntu 的用户来说,都喜欢强大而又非常方便的apt-get install命令,Java的安装也通过它来完成 :
      1、在终端输入:sudo apt-get install java sun-java6-jdk,接着输入你的密码确认。
       2、这时系统会自己下载所需的软件包,并进行安装:

3、按tab,确认,Enter。
以下类似:

4、小等一会就会完成。
5、设置环境变量 :

sudo gedit /etc/environment或则/etc/profile

增加:
      JAVA_HOME=/usr/share/jdk1.5.0_05

      PATH=$JAVA_HOME/bin:$PATH

      CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

      export JAVA_HOME

      export PATH

      export CLASSPATH
·重新登录

    ·注解

      a. 你要将 /usr/share/jdk1.5.0_05jdk 改为你的jdk安装目录

      b. linux下用冒号“:”来分隔路径

      c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值

        在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种

        常见的错误。

      d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。

      e. export是把这三个变量导出为全局变量。

      f. 大小写必须严格区分。


6.编写测试程序:

mkdir java

cd java

gedit Test.java

在Test.java中输入:
public class Test {
public static void main(String[] args) {
System.out.println("This is java for Linux!");
}
}

保存,退出。
再执行:
javac Test.java
java Test
如果在终端输出:This is java for Linux!那就表明你成功了!

apt-get 安装目录 安装路径

apt-get 下载后,软件所在路径是什么??
/var/cache/apt/archives

ubuntu 默认的PATH为
PATH=/home/brightman/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
apt-get install安装目录是包的维护者确定的,不是用户
$ dpkg -L packagename

dpkg -L +软件包的名字,可以知道这个软件包包含了哪些文件

系统安装软件一般在/usr/share,可执行的文件在/usr/bin,配置文件可能安装到了/etc下等。
文档一般在 /usr/share
可执行文件 /usr/bin
配置文件 /etc
lib文件 /usr/lib

Ubuntu Linux下安装PHP开发环境Zend Studio 5.5.1

转自:http://hi.baidu.com/vvv85/blog/item/56510417afa41a4d21a4e95e.html

Ubuntu娱乐功能已经非常不错,无非是看看电影,听听歌,玩玩小游戏。接下来研究下Ubuntu下安装zend,google一下还真是有Zend for Linux,于是下载了下来,下面就将我的安装配置过程图文并茂地展示给大家:

第 一步当然是解压zip,解压出来一个 bin 格式的安装文件, cp到我的用户目录home/ibm中,在终端地直接输入./ZendStudio-5_5_1.bin,安装便自动安装(需要jre支持,我已经提前安 装过了,安装命令是:sudo apt-get install sun-java6-jre sun-java6-jdk),过不了多久,便开始了界面安装,见图:

和Windows下的安装界面一样,一路NEXT即可。

请注意,在安装过程中可能会出现:

awk: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/bin/ls: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
hostname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

Launching installer…

grep: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/tmp/install.dir.17548/Linux/resource/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

这可能是因为你安装的java与系统不兼容的结果,你可以这样来解决在你的中端

$ cp ZendSafeGuard-4_0_0.bin ZendSafeGuard-4_0_0.bin.bak 
$ cat ZendSafeGuard-4_0_0.bin.bak | \
      sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > \
      ZendSafeGuard-4_0_0.bin

答案来源http://hi.baidu.com/i0n_p/blog/item/bb855909659d1eae2fddd473.html

安装完毕后,打开软件,查看了下软件信息,发现软件许可到期时间是2008年12月3日,也就是一个月时间的试用期;在编码区输入汉字,发现全是口口(乱码),见图:

不急,一个一个解决它!首先要破解软件许可日期,在网上找到了一个在线生成zend studio序列号的网站,网址:http://www.zendstudio.net/libs/zendstudio5_5_1-keymaker-php/

然后就是解决中文乱码问题,网上有一个不错的解决办法:

1. 创建文件夹fallback

mkdir zend安装目录/ZendStudio-5.5.1/jre/lib/fonts/fallback

2. 复制字体simsun.ttc(WINDOWS系统的Fonts目录下面有这个字体) 到fallback后名字为simsun.ttf程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛5x8t&C;I:X#g0d)m
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛’U0F#q2l6X(p#i&A
cp simsun.ttc zend安装目录/ZendStudio-5.5.1/jre/lib/fonts/fallback/simsun.ttfTechWeb-技术社区!b%u$?/X.n.\3[.W-p
tech.techweb.com.cn5[*L#A2{;s)M9o%O
从新启动Zend,乱码问题解决了,见图:

OK,Zend Studio安装好了,开始工作

基于Ubuntu Linux系统的MySQL安装配置方法

三种安装方式:

  1. 从网上安装 sudo apt-get install mysql-server。装完已经自动配置好环境变量,可以直接使用mysql的命令。

    注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多。

  2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例。

  3. 二进制包安装:安装完成已经自动配置好环境变量,可以直接使用mysql命令

网上安装和二进制包安装比较简单,重点说安装离线包。

  1. groupadd mysql

  2. mkdir /home/mysql

  3. useradd -g mysql -d /home/mysql mysql

  4. copy mysql-5.0.45-linux-i686-icc-glibc23.tar.gz到/usr/local目录

  5. 解压:tar zxvf mysql-5.0.45-linux-i686-icc-glibc23.tar.gz

  6. ln -s mysql-5.0.45-linux-i686-icc-glibc23 mysql

  7. cd /usr/local/mysql

  8. chown -R mysql .

  9. chgrp -R mysql .

  10. scripts/mysql_install_db –user=mysql (一定要在mysql目录下执行,注意输出的文字,里边有修改root密码和启动mysql的命令)

  11. 为root设置密码: ./bin/mysqladmin -u root password ‘passw0rd’

配置和管理msyql:

  1. 修改mysql最大连接数:cp support-files/my-medium.cnf ./my.cnf,vim my.cnf,增加或修改max_connections=1024

  关于my.cnf:mysql按照下列顺序搜索my.cnf:/etc,mysql安装目录,安装目录下的data。/etc下的是全局设置。

  2. 启动mysql:/usr/local/mysql/bin/mysqld_safe –user=mysql &

    查看mysql版本:mysqladmin -u root -p version

    注:网上安装或者二进制安装的可以直接使用如下命令启动和停止mysql: /etc/init.d/mysql start|stop|restart

  3. 停止mysql:mysqladmin -uroot -ppassw0rd shutdown 注意,u,p后没有空格

  4. 设置mysql自启动:把启动命令加入/etc/rc.local文件中

  5. 允许root远程登陆:

    1)本机登陆mysql:mysql -u root -p (-p一定要有);改变数据库:use mysql;

    2)从所有主机:grant all privileges on *.* to root@"%" identified by "passw0rd" with grant option;

    3)从指定主机:grant all privileges on *.* to root@"192.168.11.205" identified by "passw0rd" with grant option; flush privileges;

    4) 进mysql库查看host为%的数据是否添加:use mysql; select * from user;

  6. 创建数据库,创建user:

    1) 建库:create database test1;

    2) 建用户,赋权:grant all privileges on test1.* to user_test@"%" identified by "passw0rd" with grant option;

    3)删除数据库:drop database test1;

  7. 删除权限:

    1) revoke all privileges on test1.* from test1@"%";

    2) use mysql;

    3) delete from user where user="root" and host="%";

    4) flush privileges;

  8. 显示所有的数据库:show databases; 显示库中所有的表:show tables;

  9. 远程登录mysql:mysql -h ip -u user -p

  10. 设置字符集(以utf8为例):

    1) 查看当前的编码:show variables like ‘character%';

    2) 修改my.cnf,在[client]下添加default-character-set=utf8

    3) 在[server]下添加default-character-set=utf8,init_connect=’SET NAMES utf8;’

    4) 重启mysql。

    注:只有修改/etc下的my.cnf才能使client的设置起效,安装目录下的设置只能使server的设置有效。

      二进制安装的修改/etc/mysql/my.cnf即可

  11. 旧数据升级到utf8(旧数据以latin1为例):

    1) 导出旧数据:mysqldump –default-character-set=latin1 -hlocalhost -uroot -B dbname –tables old_table >old.sql

    2) 转换编码(Linux和UNIX):iconv -t utf-8 -f gb2312 -c old.sql > new.sql

      这里假定原表的数据为gb2312,也可以去掉-f,让iconv自动判断原来的字符集。

    3) 导入:修改new.sql,在插入或修改语句前加一句话:"SET NAMES utf8;",并修改所有的gb2312为utf8,保存。

      mysql -hlocalhost -uroot -p dbname < new.sql

      如果报max_allowed_packet的错误,是因为文件太大,mysql默认的这个参数是1M,修改my.cnf中的值即可(需要重启mysql)。

  12. 支持utf8的客户端:Mysql-Front,Navicat,PhpMyAdmin,Linux Shell(连接后执行SET NAMES utf8;后就可以读写utf8的数据了。10.4设置完毕后就不用再执行这句话了)

  13. 备份和恢复

    备份单个数据库:mysqldump -uroot -p -B dbname > dbname.sql

    备份全部数据库:mysqldump -uroot -p –all-databases > all.sql

    备份表: mysqldump -uroot -p -B dbname –table tablename > tablename.sql

    恢复数据库:mysql -uroot -p < name.sql

    恢复表:mysql -uroot -p dbname < name.sql (必须指定数据库)

  14. 复制

    Mysql支持单向的异步复制,即一个服务器做主服务器,其他的一个或多个服务器做从服务器。复制是通过二进制日志实现的,主服务器写入,从服务器读取。可以实现多个主    服务器,但是会碰到单个服务器不曾遇到的问题(不推荐)。

    1). 在主服务器上建立一个专门用来做复制的用户:grant replication slave on *.* to ‘replicationuser’@’192.168.0.87′ identified by ‘iverson';

    2). 刷新主服务器上所有的表和块写入语句:flush tables with read lock; 然后读取主服务器上的二进制二进制文件名和分支:SHOW MASTER STATUS;将File和Position的值记录下来。记录后关闭主服务器:mysqladmin -uroot -ppassw0rd shutdown

      如果输出为空,说明服务器没有启用二进制日志,在my.cnf文件中[mysqld]下添加log-bin=mysql-bin,重启后即有。

    3). 为主服务器建立快照(snapshot)

      需要为主服务器上的需要复制的数据库建立快照,Windows可以使用zip格式,Linux和Unix最好使用tar命令。然后上传到从服务器mysql的数据目录,并解压。

      cd mysql-data-dir

      tar cvzf mysql-snapshot.tar ./mydb

      注意:快照中不应该包含任何日志文件或*.info文件,只应该包含要复制的数据库的数据文件(*.frm和*.opt)文件。

      可以用数据库备份(mysqldump)为从服务器做一次数据恢复,保证数据的一致性。

    4). 确认主服务器上my.cnf文件的[mysqld]section包含log-bin选项和server-id,并启动主服务器:

      [mysqld]

      log-bin=mysql-bin

      server-id=1

    5). 停止从服务器,加入server-id,然后启动从服务器:

      [mysqld]

      server-id=2

      注:这里的server-id是从服务器的id,必须与主服务器和其他从服务器不一样。

      可以在从服务器的配置文件中加入read-only选项,这样从服务器就只接受来自主服务器的SQL,确保数据不会被其他途经修改。

    6). 在从服务器上执行如下语句,用系统真实值代替选项:

      change master to MASTER_HOST=’master_host’, MASTER_USER=’replication_user’,MASTER_PASSWORD=’replication_pwd’,

        MASTER_LOG_FILE=’recorded_log_file_name’,MASTER_LOG_POS=log_position;

    7). 启动从线程:mysql> START SLAVE; 停止从线程:stop slave;(注意:主服务器的防火墙应该允许3306端口连接)

    验证:此时主服务器和从服务器上的数据应该是一致的,在主服务器上插入修改删除数据都会更新到从服务器上,建表,删表等也是一样的。

以下是几个有用的连接:

http://publish.it168.com/2006/0203/20060203001301.shtml?cChanNel=11&cpositioncode=296&hezuo=107