Linux下Mysql安裝以及主從同步配置【2010.08.10】
一.安裝MYSQL 5.1.34
# chmod 755 mysql-5.1.34-linux-i686-icc-glibc23.tar.gz //設(shè)置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個(gè)模版文件,我們選擇其中一個(gè)座位Mysql的配置文件,覆蓋/etc/my.cnf(系統(tǒng)默認(rèn)的配置,其中設(shè)置了性能參數(shù)和Mysql的一些路徑參數(shù)) # cd /usr/local/mysql 進(jìn)入mysql目錄 # ./scripts/mysql_install_db --user=mysql //初試化表并且規(guī)定用mysql用戶來(lái)訪問(wèn)。初始化表以后就開始給mysql和root用戶設(shè)定訪問(wèn)權(quán)限 # chown -R root . //設(shè)定root能訪問(wèn)/usr/local/mysql(后面的點(diǎn)不能丟掉) # chown -R mysql data //設(shè)定mysql用戶能訪問(wèn)/usr/local/mysql/data 里面存的是mysql的數(shù)據(jù)庫(kù)文件.這個(gè)目錄是在/etc/my.cnf中有配置,在mysql_install_db時(shí)產(chǎn)生。 # chown -R mysql data/ //設(shè)定mysql用戶能訪問(wèn)/usr/local/mysql/data/mysql下的所有文件 # chgrp -R mysql .//設(shè)定mysql組能夠訪問(wèn)/usr/local/mysql(要回到/usr/local/ 目錄下)(后面的點(diǎn)不能丟掉) # /usr/local/mysql/bin/mysqld_safe --user=mysql & 運(yùn)行mysql 如果沒(méi)有問(wèn)題的話,應(yīng)該會(huì)出現(xiàn)類似這樣的提示: [1] 42264 # Starting mysqld daemon with databases from /usr/local/mysql/var 如果出現(xiàn) mysql ended這樣的語(yǔ)句,表示Mysql沒(méi)有正常啟動(dòng),你可以到log中查找問(wèn)題,Log文件的通常在/etc/my.cnf中配置。大多數(shù)問(wèn)題是權(quán)限設(shè)置 不正確引起的。 # /usr/local/mysql/bin/mysqladmin -u root password 45261067 //默認(rèn)安裝密碼為空,為了安全你必須馬上修改. # cp support-files/mysql.server /etc/rc.d/init.d/mysqld 設(shè)置使mysql每次啟動(dòng)都能自動(dòng)運(yùn)行 # chmod 700 /etc/init.d/mysqld # chkconfig --add mysqld # chkconfig --level 345 mysqld on # service mysqld start //啟動(dòng)mysqld服務(wù) # netstat -atln //查看3306端口是否打開。要注意在防火墻中開放該端口。 二、主從配置 如:主機(jī)(192.168.1.3) vi etc/my.cnf (添加到[mysqld]下面) server-id = 1 binlog-do-db = mysql(需同步的數(shù)據(jù)庫(kù)名) binlog-do-db = test 注意:在my.cnf下有個(gè)默認(rèn)的"server-id = 1"和"log-bin"必需"禁掉" /usr/local/mysql/bin/mysql -uroot -p 命令格式:#GRANT ALL PRIVILEGES ON *.* TO root@192.168.1.4(從) IDENTIFIED BY '密碼(數(shù)據(jù)庫(kù)密碼)' WITH GRANT OPTION; //授予從機(jī)在主機(jī)數(shù)據(jù)庫(kù)權(quán)限 GRANT ALL PRIVILEGES ON *.* TO miikey@192.168.1.4 IDENTIFIED BY '123456' WITH GRANT OPTION; //授予從機(jī)在主機(jī)數(shù)據(jù)庫(kù)權(quán)限 show master status;(查看指針是否一致) ----------------------------------------------------------------------------------- 如:從機(jī):(192.168.1.4) vi etv/my.cnf (添加到[mysqld]下面) server-id = 4(和主機(jī)錯(cuò)開) master-host = 192.168.1.6 //主機(jī)IP master-user = root master-password = 123456 master-port = 3306 replicate-do-db = mysql(必需和主機(jī)保持一致) replicate-do-db = test(必需和主機(jī)保持一致) 注意:在my.cnf下有個(gè)默認(rèn)的"server-id = 1"和"log-bin"必需"禁掉" /usr/local/mysql/bin/mysql -uroot -p #GRANT ALL PRIVILEGES ON *.* TO root@IP(主) IDENTIFIED BY '密碼(數(shù)據(jù)庫(kù)密碼)' WITH GRANT OPTION; //授予主機(jī)在從機(jī)數(shù)據(jù)庫(kù)權(quán)限 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;(查看指針是否一致,如果命令不行,就把;去掉試試) ----------------------------------同理可以增加多臺(tái)SLAVE從機(jī)------------------------------------------------- 測(cè)試方法: 可先查看主,從機(jī)的指計(jì)是否一致.(主機(jī):show master status; 從機(jī):show slave status\G;) 用phpmyadmin登錄主機(jī),刪掉其中某一個(gè)數(shù)據(jù)庫(kù)里的字段(也可以增加),在到從機(jī)上看,是否有同步.(正常下主機(jī)有任何的操作,從機(jī)上都會(huì)有同步顯示) |
|
|