歡迎您光臨本站 註冊首頁

Mysql 讀寫分離

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

Mysql 讀寫分離

Mysql 讀寫分離


前幾天做了一次配置  那次配置出的問題  我思考了幾天   想破了頭也不知道錯誤出在哪
數據就不是同步   連日誌都沒報錯
所以徹底從新做了一次  
因為先前一個做CentOS 5.5原版和一個CentOS 5.5精裝版的的  Mysql都是直接Yum 安裝的  
不知道是不是這個問題造成的  
-------------------------------------------------------
環境:
CentoS 精裝版  192.168.0.250   mysql從
CentOS 精裝版  192.168.0.251   mysql主

##################  mysql 源碼安裝####################################
tar -zxvf mysql*.gz
cd mysql-5.1.50
useradd -d /dev/null -s /sbin/nologin mysql
./configure --prefix=/usr/local/mysql --enable-assembler --enable-thread-safe-client --with-extra-charsets=complex --with-ssl --with-embedded-server --with-named-curses-libs=/usr/lib/libncursesw.so.5
make
make install
cp support-files/my-large.cnf  /etc/my.cnf
cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
PATH=$PATH:/usr/local/mysql/bin
/usr/local/mysql/bin/mysql_install_db
chown -R mysql.mysql /usr/local/mysql/var
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
service mysqld start
/usr/local/mysql/bin/mysql_secure_installation  
(mysql 源碼安裝 不解析)
########### 修改my.cnf  #######

log-bin=mysql-bin
server-id=1
#(暫時指定 同步資料庫 和不同步資料庫)
#(不過聽說同步了Mysql 問題很多 還是先這樣做 完成後再修改)

################################
mysql> grant replication slave,reload,super on *.* to slave@192.168.0.250 identified by '123456';
mysql> flush privileges;
mysql> exit;
請在從資料庫伺服器上測試這個賬戶:
show privileges
# mysql -u slave -h 192.168.0.250 -p   (這個很有必要 比如slave寫成了salve 我經常這樣打錯)
mysql>
mysql> FLUSH TABLES WITH READ LOCK;  (主庫加鎖)
記錄日誌和偏移量
mysql> show master status ;

建立完整快照
mysqldump --all-database --lock-all-tables >db.sql
複製到從資料庫
scp -P 22222 db.sql root@192.168.0.250:/root/  (-P 22222 ----因為我的ssh埠修改了22222)

#########  修改從my.cnf ############
server-id=2
master-host=192.168.0.251
master-user=slave
master-password=123456
master-port=3306
loh-bin=mysql-bin
-----------------------------------
service mysqld restart
mysql -u root -p < db.sql    (導入)
unlock tables ;   (主庫解鎖)
mysql> slave stop;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.251', MASTER_USER='slave',
MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=177;  (後面log_file log_pos 參照主庫的日誌名稱和偏移量)
mysql>  salve start ;
查狀態
mysql> show master status;
mysql> show slave status;
mysql> show processlist ;

資料庫操作
create table test.t(name int,age int) ;
insert into test.t values('admin','11');
從庫 select * from test.t
測試正常
#####################################
記得Iptables  添加 允許3306
《解決方案》

謝謝分享,學習了。。。
《解決方案》

謝謝分享,學習了。。。
《解決方案》

回復 1# so_brave


    老兄沒有看到讀寫分離啊,只是同步。
《解決方案》

回復 4# key1077


    讀寫分離估計是應用級別的吧。

[火星人 ] Mysql 讀寫分離已經有404次圍觀

http://coctec.com/docs/service/show-post-2053.html