MySQL雙機熱備部署

來源:互聯網
上載者:User

標籤:mysql   雙機熱備   資料庫   

卸載系統內建的版本。


這裡以MySQL-5.5.28-1為版本


為了簡單,RPM方式安裝:

rpm -ivh MySQL-server-5.5.28-1.linux2.6.x86_64.rpm

rpm -ivh MySQL-client-5.5.28-1.linux2.6.x86_64.rpm



#mysql


mysql>update mysql.user set password="chengshan" where user="root";//


mysql>delete from mysql.user where user=‘‘;//刪除匿名使用者


mysql>select user,host from mysql.user;


mysql>delete from mysql.user where host=‘127.0.0.1‘;


mysql>delete from mysql.user where host=‘localhost‘;


mysql>create user ‘zcs‘@‘127.0.0.1‘ identified by ‘chengshan‘;


mysql>grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘chengshan‘ with grant option;


mysql>grant all privileges on *.* to ‘zcs‘@‘%‘ identified by ‘chengshan‘ with grant option;


mysql>flush privileges;


mysql>quit



登陸測試

[[email protected] ~]# mysql -u root -p

Enter password: 


1.修改相關設定檔:

#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

#vi /etc/my.cnf


在[client]最後增加

default-character-set=utf8


在[mysqld]最後增加

lower_case_table_names=1 

transaction-isolation=READ-COMMITTED

event-scheduler=1

max_connections=2000


2.啟動

/etc/init.d/mysql start

#netstat -anlt


3.停止

/etc/init.d/mysql stop


4.重新啟動

/etc/init.d/mysql restart


5.設定自動啟動

/sbin/chkconfig mysql on



二兩台伺服器都裝好後,進行雙機熱備的配置(主從關係)

約定環境:兩台伺服器的主機名稱最好不一樣,如一個是db1(主),一個是db2(從)。

可以通過修改/etc/sysconfig/network實現

兩台資料庫root密碼為chengshan


1 進入主伺服器

mysql –u root –p

密碼:chengshan

mysql>下輸入:show master status;  

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000002 |     107 |              |                  |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)


如果提示為空白則需要在/etc/my.cnf 下的mysqld中添加

log-bin=mysql-bin

server-id=10


注意看裡面的參數,特別前面兩個File和Position,在從伺服器(Slave)配置主從關係會有用到的。




建立同步處理的使用者

grant replication slave on *.* to [email protected] identified by ‘123456‘;

//建立使用者user1密碼為123456,指定IP為從伺服器可以訪問的。


flush privileges;


修改/etc/my.cnf

在[mysqld]下修改即可:

[mysqld]

server-id = 1

log-bin=mysql-bin                //其中這兩行是本來就有的,可以不用動,添加下面兩行即可

binlog-do-db = opts2         //指定需要被同步的資料庫名稱如opts2

binlog-ignore-db = mysql     //指定不需要被同步的資料庫名稱如mysql內建的mysql或其他的資料庫,如果不指定這兩條預設全部都同步。

修改好後

service mysql restart      //重啟mysql服務,不解釋。如果成功則沒問題。


主伺服器配置完畢。






2 進入從伺服器

首先修改/etc/my.cnf配置

[mysqld]                    //在[mysqld]段後修改

server-id = 2               //修改1為2

log-bin=mysql-bin           //預設配置,開啟日誌記錄,不用改

replicate-do-db = opts2        //指定需要去主伺服器發起同步的資料庫名如opts2

replicate-ignore-db = mysql,information_schema,performance_schema

// 執行不需要進行同步的資料庫名


service mysql restart     //不解釋




用change mster 語句指定同步位置

mysql –u root –p

密碼:chengshan

mysql>


建立同步處理的使用者

grant replication slave on *.* to [email protected] identified by ‘123456‘;

//建立使用者user2密碼為123456,指定IP為主伺服器可以訪問的。其實這句話可以不用打,這句話是給互相備份用的(主-主關係),不過配上也沒事,沒有設定許可權。


mysql>stop slave;          //先停步slave服務線程,這個是很重要的,如果不這樣做會造成以下操作不成功。

mysql>change master to

->master_host=‘192.168.0.90‘,

->master_user=‘user1‘,

->master_password=‘123456‘,

->master_log_file=‘mysql-bin.000003 ‘,

->master_log_pos=107;


註:master_log_file, master_log_pos由主伺服器(Master)查出的狀態值中確定。也就是剛剛叫注意的。master_log_file對應File, master_log_pos對應Position。


mysqlbinlog mysql-bin.000003 > 0.txt

斷行符號後,如成功會有OK提示,如果不成功則要重新設定slave。指令如下


mysql>stop slave;


mysql>reset slave;



之後停止slave線程重新開始。成功後,則可以開啟slave線程了。



flush privileges;



mysql>start slave;     //重新啟動


mysql>show slave status\G;   //查看從伺服器狀態



# service mysql restart   //不解釋


至此從伺服器設定完成。

MySQL雙機熱備部署

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.