一.安装MYSQL 5.1.34
# chmod 755 mysql-5.1.34-linux-i686-icc-glibc23.tar.gz //设置mysql-5.1.34-linux-i686-icc-glibc23.tar.gz属性为755
# tar xzvf mysql-5.1.34-linux-i686-icc-glibc23.tar.gz //解压
# cp -r mysql-5.1.34-linux-i686-icc-glibc23 /usr/local //
# mv /usr/local/mysql-5.1.34-linux-i686-icc-glibc23 mysql //
# cd mysql //
# groupadd mysql // 建立mysql组
# useradd mysql -g mysql //建立mysql用户并且加入到mysql组中
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
在 support-files目录下有4个模版文件,我们选择其中一个座位Mysql的配置文件,覆盖/etc/my.cnf(系统默认的配置,其中设置了性能参数和Mysql的一些路径参数)
# cd /usr/local/mysql 进入mysql目录
# ./scripts/mysql_install_db –user=mysql //初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysql和root用户设定访问权限
# chown -R root . //设定root能访问/usr/local/mysql(后面的点不能丢掉)
# chown -R mysql data //设定mysql用户能访问/usr/local/mysql/data 里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,在mysql_install_db时产生。
# chown -R mysql data/ //设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件
# chgrp -R mysql .//设定mysql组能够访问/usr/local/mysql(要回到/usr/local/ 目录下)(后面的点不能丢掉)
# /usr/local/mysql/bin/mysqld_safe –user=mysql & 运行mysql 如果没有问题的话,应该会出现类似这样的提示:
[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。大多数问题是权限设置 不正确引起的。
# /usr/local/mysql/bin/mysqladmin -u root password 45261067 //默认安装密码为空,为了安全你必须马上修改.
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 设置使mysql每次启动都能自动运行
# chmod 700 /etc/init.d/mysqld
# chkconfig –add mysqld
# chkconfig –level 345 mysqld on
# service mysqld start //启动mysqld服务
# netstat -atln //查看3306端口是否打开。要注意在防火墙中开放该端口。
二、主从配置
如:主机(192.168.1.3)
vi etc/my.cnf (添加到[mysqld]下面)
server-id = 1
binlog-do-db = mysql(需同步的数据库名)
binlog-do-db = test
注意:在my.cnf下有个默认的”server-id = 1″和”log-bin”必需”禁掉”
/usr/local/mysql/bin/mysql -uroot -p
命令格式:#GRANT ALL PRIVILEGES ON *.* TO root@192.168.1.4(从) IDENTIFIED BY ‘密码(数据库密码)’ WITH GRANT OPTION; //授予从机在主机数据库权限
GRANT ALL PRIVILEGES ON *.* TO miikey@192.168.1.4 IDENTIFIED BY ’123456′ WITH GRANT OPTION; //授予从机在主机数据库权限
show master status;(查看指针是否一致)
———————————————————————————–
如:从机:(192.168.1.4)
vi etv/my.cnf (添加到[mysqld]下面)
server-id = 4(和主机错开)
master-host = 192.168.1.6 //主机IP
master-user = root
master-password = 123456
master-port = 3306
replicate-do-db = mysql(必需和主机保持一致)
replicate-do-db = test(必需和主机保持一致)
注意:在my.cnf下有个默认的”server-id = 1″和”log-bin”必需”禁掉”
/usr/local/mysql/bin/mysql -uroot -p
#GRANT ALL PRIVILEGES ON *.* TO root@IP(主) IDENTIFIED BY ‘密码(数据库密码)’ WITH GRANT OPTION; //授予主机在从机数据库权限
GRANT ALL PRIVILEGES ON *.* TO jvones@192.168.1.6 IDENTIFIED BY ’45261067′ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO miikey@192.168.1.6 IDENTIFIED BY ’123456′ WITH GRANT OPTION;
show slave status\G;(查看指针是否一致,如果命令不行,就把;去掉试试)
———————————-同理可以增加多台SLAVE从机————————————————-
测试方法:
可先查看主,从机的指计是否一致.(主机:show master status; 从机:show slave status\G;)
用phpmyadmin登录主机,删掉其中某一个数据库里的字段(也可以增加),在到从机上看,是否有同步.(正常下主机有任何的操作,从机上都会有同步显示。