❶ mysql主從復制搭建有幾個ip
在實際企業應用環境當中,單台mysql資料庫是不足以滿足日後業務需求的。譬如伺服器發生故障,沒有備份伺服器來提供服務的話,業務就得停止。介於這種情況,我們來學習一下mysql主從復制。
使用mysql主從復制的好處有:
1、採用主從伺服器這種架構,穩定性得以提升。如果主伺服器發生故障,我們可以使用從伺服器來提供服務。
2、在主從伺服器上分開處理用戶的請求,可以提升數據處理效率。
3、將主伺服器上的數據復制到從伺服器上,保護數據免受意外的損失。
環境描述:
新企業要搭建架構為主從復制的mysql資料庫。
主伺服器(mysql-master):IP地址:192.168.48.128,mysql已安裝,沒有用戶數據。
從伺服器(mysql-slave):IP地址:192.168.48.130,mysql已安裝,沒有用戶數據。
主從伺服器均可正常提供服務。
主從復制配置如下:
在主伺服器上操作:
1)、確保/etc/my.cnf中有如下參數,沒有的話需手工添加,並重啟mysql服務。
[mysqld]
log-bin=mysql-bin 啟動二進制文件
server-id=1 伺服器ID
2)、登錄mysql,在mysql中添加一個backup的賬號,並授權給從伺服器。
[root@localhost ~]# mysql -uroot –p123456 登錄mysql
mysql> grant replication slave on *.* to 'backup'@'192.168.48.130' identified by 'backup'; 創建backup用戶,並授權給192.168.48.130使用。
3)、查詢主資料庫狀態,並記下FILE及Position的值,這個在後面配置從伺服器的時候要用到。
❷ linux換進怎麼配置mysql主從伺服器
展開全部
linux下配置mysql主從同步的步驟
一、主機環境
主機:
master操作系統:rhel6.0
IP:172.16.0.100
MySQL版本:5.1.47
從機:
www.2cto.com
slave操作系統:rhel6.0
IP:172.16.0.200
MySQL版本:5.1.47
二、創建資料庫
分別登錄master機和slave機的mysql:mysql
–u
root
–p
創建資料庫:create
database
repl;
三、master機和slave機的相關配置
1、修改master機器中mysql配置文件my.cnf,該文件在/etc目錄下
在[mysqld]配置段添加如下欄位
server-id=1
log-bin=mysql-bin
binlog-do-db=repl
//需要同步的資料庫,如果沒有本行,即表示同步所有的資料庫
binlog-ignore-db=mysql
//被忽略的資料庫
在master機上為slave機添加一同步帳號
grant
replication
slave
on
*.*
to
'replication'@'172.16.0.200'
identified
by
'123456';
重啟master機的mysql服務:service
mysqld
restart
用show
master
status
命令看日誌情況
❸ 如何構建資料庫的主從架構
「資料庫」主要有資料庫外部體系結構、內部體系結構兩種。
從資料庫最終用戶角度看,資料庫系統的結構分為單用戶結構、主從式結構、分布式結構、客戶/伺服器、瀏覽器/應用伺服器/資料庫伺服器多層結構,這是資料庫外部體系結構。
物理存儲結構、邏輯存儲結構、內存結構和實例進程結構,這是內部體系結構。
❹ 我有一台mysql伺服器,讓它既作一些mysql的主伺服器又想把它當做一個mysql的從伺服器使用,如何配置
這個。。你要想玩主從,一台伺服器沒意義啊,好歹弄個虛擬機搭個mysql伺服器也行啊
要真是就1台伺服器就別弄主從了。。 如果2台或者2台以上的mysql 配置, 基本上就是在你config里寫主庫和從庫的用戶名和密碼,地址等信息(或者寫在apache配置裡面 寫成$ENV) 在你的數據調用類(通常叫做db.class.php)裡面自己做主從的各種方法就行了
❺ 如何使用mysql 主從伺服器
一.准備伺服器
准備兩台主機,分別安裝好Mysql (要相同版本),確定版本無誤,確保mysql服務正常啟動,確保兩台主機處於同一個區域網中,確定好哪台做為主、備機器,假設A為主機,B為備機,假設:
A主機IP地址為:172.16.16.90 埠3306
B主機IP地址為: 172.16.99.98 埠3306
二.Mysql建立主-從伺服器熱備配置步驟
1.創建同步用戶
進入MySql操作界面,在主伺服器上為從伺服器建立一個連接帳戶,該帳戶必須授予REPLICATION SLAVE許可權。
操作指令如下:
1)grant select,replication slave on *.* to 'replicate'@'172.16.99.98' identified by '1234567';
2)flush privileges;
2.修改Mysql配置
如果上面的准備工作做好,就可以進行對Mysql配置文件進行修改了,首先找到主伺服器Mysql安裝文件所有在目錄,找到my.ini文件用記事本打開。在[mysqld]下增加如下內容:
server-id=1
log-bin=mysql-bin
binlog-do-db=test #需要備份的資料庫,多個寫多行
binlog-ignore-db=mysql#不需要備份的資料庫,多個寫多行
3.重啟mysql服務
修改完配置文件保存後,重啟一下mysql服務。
4.查看主伺服器狀態
進入A伺服器Mysql 客戶端輸入命令
1)Show master STATUS;
2)返回結果如下:
注意看裡面的參數,特別前面兩個File和Position,在從伺服器(Slave)配置主從關系會有用到的。
5.從伺服器Slave配置修改配置文件
因為這裡面是以主-從方式實現mysql雙機熱備的,所以在從伺服器就不用在建立同步帳戶了,直接打開配置文件my.ini進行修改即可,道理還是同修改主伺服器上的一樣,只不過需要修改的參數不一樣。
如下:
[mysqld]
server-id=2
log-bin=mysql-bin
replicate-do-db=test
replicate-ignore-db=mysql
6.重啟mysql服務
修改完配置文件保存後,重啟一下mysql服務。
7.配置從伺服器
先停止slave服務線程,這個是很重要的,如果不這樣做會造成下面操作不成功,再用change mster 語句指定同步位置,操作如下:
1)stopslave;
2)change master to master_host='172.16.16.90',
master_user='replicate',master_password='1234567',master_port=3306,
master_log_file='mysql-bin.000001',master_log_pos=98;
3)start slave
4) showslavestatus
查看下面兩項值均為Yes,即表示設置從伺服器成功。
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
❻ Ubuntu配置Mysql主從資料庫
本次環境:虛擬機下
伺服器:Ubuntu
14.04
LTS
資料庫:
5.5.37
埠:3306
主IP:192.168.63.133
從IP:192.168.63.134
授權賬號:
user:suxh
password:111111
好了交代完環境:我們直接配置:
第一步:主從兩台伺服器要有同樣的資料庫(需要同步的)這里用的是backup
資料庫(不多說了,在同步開始前,把主庫的復制一份到從庫就行了)
第二步配置主(master)資料庫
編輯/etc/my.cnf
主要是開啟二進制日誌
和設置要同步的資料庫
等一些參數
#
binary
logging
format
-
mixed
recommended
binlog_format=mixed
binlog-ignore-db=mysql
binlog-do-db=backup
#
required
unique
id
between
1
and
2^32
-
1
#
defaults
to
1
if
master-host
is
not
set
#
but
will
not
function
as
a
master
if
omitted
server-id
=
1
參數解釋下:
server-id
這個是唯一的不能跟從伺服器相同。
binlog_format
二進制文件的格式
binlog_ignore-db
忽略的資料庫
binlog-do-db
要同步的資料庫
設置完了以後
重啟資料庫就可以了。
第三步從資料庫:
同樣修改/etc/my.cnf
在mysql
版本5.1.7
不支持master-host」類似的參數;
所以這里只要配置server-id=2
就可以了
然後登陸從資料庫設置
change
master
to
master_host='192.168.63.133',
master_user='suxh',
master_password='111111';
slave
start;
基本配置就好了。這是我的簡要筆記。
❼ 如何在一台windows主機上搭建mysql主從復制
1、首先要在本地建立兩個mysql服務(參考這里),指定不同的埠。我這里一個主(3306),一個從(3307)。
2、然後修改主配置文件:
[mysqld]
server-id = 1
binlog-do-db=test #要同步的資料庫
#binlog-ignore-db=mysql #不同步的資料庫,如果指定了binlog-do-db這里應該可以不用指定的
log-bin=mysql-bin #要生成的二進制日記文件名稱
修改從配置文件:
[mysqld]
server-id = 2
log-bin = mysql-bin
replicate-do-db=test
3、在主庫添加一個用戶 repl 並指定replication許可權
create user 'repl'@'127.0.0.1' identified by 'asdf';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1'; -- --這里我指定資料庫(test.*)時報錯,而指定全庫(*.*)時會成功。
4、保持主從mysql的test資料庫初始狀態一致。
一般是先將所有的表加讀鎖,然後磁碟上的資料庫文件夾。我這里直接停止服務,然後將數據文件拷貝過去。
5、在主資料庫裡面運行show master status;記下file和position欄位對應的參數。
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | test | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
6、在從庫設置它的master:
mysql> change master to master_host='127.0.0.1',master_port=3306,master_user='repl',master_password='asdf',master_log_file='mysql-bin.000001',master_log_pos=107;
Query OK, 0 rows affected (0.19 sec)
這里的master_log_file和master_log_pos對應剛才show master status記下的參數。
7、在從庫開啟從資料庫復制功能。
slave start;
mysql> slave start;
Query OK, 0 rows affected (0.00 sec)
在從庫可以通過show slave status來查看一些參數。
8. 此時在主庫創建表或插入數據,在從庫就會很快也能看到了。
-- 主庫
mysql> create table tianyc_02(b int);
Query OK, 0 rows affected (0.16 sec)
mysql> insert into tianyc_02 values(2013);
Query OK, 1 row affected (0.13 sec)
-- 從庫
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| tianyc_01 |
| tianyc_02 |
+----------------+
2 rows in set (0.00 sec)
mysql> select * from tianyc_02;
+------+
| b |
+------+
| 2013 |
+------+
1 row in set (0.00 sec)
同理,可以搭建第二、第三個從節點。
參考:http://blog.sina.com.cn/s/blog_4d06da1f01010m55.html
備註:兩個服務的serve_id必須不同,否則在開啟復制功能時會提示錯誤
mysql> slave start;
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO
❽ MySql伺服器怎麼架設主從資料庫伺服器呢
大致步驟如下:主MySQL伺服器:192.168.3.1備MySQL伺服器:192.168.3.2配置文件路徑:/etc/my.cnfMySQL服務狀態:停止-------------------------主伺服器配置-------------------編輯配置文件:vi
/etc/my.cnf找到[mysqld]在它下面添加內容:server-id=1log-bin=backuplogbinlog-do-db=test#如果有多個資料庫需要同步,添加多行即可#binlog-do-db=test2保存my.cnf配置文件。啟動mysql:service
mysqld
start用root登錄mysql,為同步數據創建新帳號:grant
file,select,replication
slave
on
*.*
to
'test'@'%'
identified
by
'123456';------------------------備伺服器配置-------------------------編輯配置文件:vi
/etc/my.cnf在[mysqld]下加入:server-id=2master-host=192.168.3.1master-user=testmaster-password=123456master-port=3306#replicate-do-db=test
#此配置項為設置僅同步的資料庫名,其它資料庫忽略(建議不設置此選項)保存並啟動mysql即可。如果需要查看同步狀態,可分別在主從伺服器上用如下命令查看:主伺服器:show
master
status;從伺服器:show
slave
status\G------------------值得說明的兩個文件-----------------備份伺服器上的/var/lib/mysql/目錄下有兩個:master.info和relay-log.info它們記錄了主伺服器的配置信息和同步信息,如果出現備份伺服器不能同步數據的問題,可嘗試將這兩個文件刪除,讓備伺服器重新同步。備註:進行操作之前先備份下數據比較保險一點。
❾ 如何在一台windows主機上搭建mysql主從配置
先在主資料庫中創建新資料庫rep_test。
然後編輯主資料庫的my.ini文件
在[mysqld]節點中增加如下內容:
server-id=1 #指定唯一的ID,1至32,必須的
log-bin=mysql-log-bin #指定二進制日誌存放路徑,必須的
binlog-do-db=rep_test #指定要同步的資料庫,必須的
#binlog-ignore-db=mysql #指定不要同步的資料庫,如果指定了binlog-do-db就不用再指定該項
重啟主資料庫,然後在主資料庫中建立一個備份賬戶
mysql>grant replication slave on *.* [email protected] identified by 'slave' ;
mysql>flush privileges;
PS:identified by 指定的slave是賬號[email protected] 的密碼
顯示主伺服器的狀態信息,並且找到File 和 Position 的值記錄下來;
mysql>show master status;
在從資料庫中創建新的資料庫rep_test。
然後編輯從資料庫的my.ini文件
在[mysqld]節點中增加如下內容:
server-id=2 #指定唯一的ID,2至32,必須的,並且不能跟主資料庫一樣
replicate-do-db=rep_test #指定要同步的資料庫,必須的
#replicate-ignore-db=mysql #指定不要同步的資料庫,
重啟從資料庫,設置登錄主資料庫的賬號和密碼等信息,然後啟動slave
mysql>change master to master_host='192.168.1.2',master_user='slave',master_password='slave', master_log_file='mysql-bin.000002',master_log_pos=120;
mysql>start slave;
查看從資料庫的信息
mysql>show slave status G;
如果出現:Slave_IO_Running: YesSlave_SQL_Running: Yes以上兩項都為Yes,那說明沒問題了
測試主從復制是否有效果
在主資料庫中創建一個新的資料庫,然後再切換到從資料庫查看是否同樣多出通名的資料庫
如果一開始資料庫的架構不是主從復制,並且運行一段時間後已經有數據存在,那配置的方式略有不同。
編輯主資料庫的my.ini文件,加上一下內容:
binlog-do-db=landclash
重啟主資料庫,然後在主資料庫中鎖定所有的表
mysql>flush tables with read lock;
顯示主伺服器的狀態信息,並且找到File 和 Position 的值記錄下來;
mysql>show master status;
將主資料庫data目錄下需要做主從復制的資料庫的同名目錄拷貝到從資料庫的data目錄下
編輯從資料庫的my.ini文件,加上一下內容:
replicate-do-db=landclash
重啟從資料庫,因為主資料庫在重新配置my.ini後,日誌文件變成新的文件,所以需要再次設置登錄主資料庫的賬號和密碼等信息
mysql>stop slave;
mysql>change master to master_host='192.168.1.2',master_user='slave',master_password='slave', master_log_file='mysql-bin.000003',master_log_pos=120;
mysql>start slave;
再次輸入查看從資料庫狀態的命令
mysql>show slave status G;
完成上述配置後,回到主資料庫,將表解鎖
mysql>unlock tables;
之後在主資料庫的修改就能同步到從資料庫上了。
配置舊資料庫的主從復制
❿ 如何用mysql搭配主從資料庫
兩台機器,192.168.162.128(主) 192.168.162.130(從)
配置主的配置文件
vi /etc/my.cnf
正常,說明主從搭建成功