程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 虛擬機centos6.3安裝mysql5.6.15並設置mysql主從復制

虛擬機centos6.3安裝mysql5.6.15並設置mysql主從復制

編輯:MySQL綜合教程

一.最小化安裝centos 二.虛擬機安裝完後,iptables會自動開啟,永久關閉它 chkconfig iptables off 三.設置靜態ip地址,方便以後shell連接 ,mysql主服務器192.168.1.41,從服務器192.168.1.42; 1.vi /etc/sysconfig/network-scripts/ifcfg-eth0 (根據虛擬機網卡的不同,這裡eth0也可能是eth1,eth2) DEVICE=eth0 BOOTPROTO=static HWADDR=00:26:18:0B:38:C0 ONBOOT=yes IPADDR=192.168.1.41 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 2.IP生效: /sbin/ifdown eth0 /sbin/ifup eth0 3.通知網關更新信息: /etc/init.d/network restart 4.配置DNS: vi /etc/resolv.conf nameserver 202.101.172.35 5.chattr +i /etc/resolv.conf改為只讀 6.重啟系統四 使用shell登錄192.168.1.41 (mysql主服務器,先設置一台,然後通過復制,克隆,產生從服務區) 五 安裝mysql5.6.15 (官網mysql.com下載源碼包安裝。http://dev.mysql.com/downloads/mysql/) 1.安裝編譯源碼所需的工具和庫 yum install gcc gcc-c++ ncurses-devel perl 安裝cmake(mysql5.5以後都采用cmake安裝了)

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

tar -xzvf cmake-2.8.10.2.tar.gz

cd cmake-2.8.10.2

./bootstrap ; make ; make install

2.創建mysql用戶與組 groupadd mysql

useradd -r -g mysql mysql

3.新建mysql安裝目錄和數據目錄

mkdir -p /usr/local/mysql

mkdir -p /data/mysqldb

4.下載mysql 源碼包並解壓安裝

在官方網站 http://dev.mysql.com/downloads/mysql/ 找找,一般是最後一個source code 32M左右

tar -zxv -f mysql-5.6.15.tar.gz

5.安裝mysql

cd mysql-5.6.15

配置編譯信息

cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DMYSQL_DATADIR=/data/mysqldb \ -DMYSQL_TCP_PORT=3306 \

-DENABLE_DOWNLOADS=1

make

make install

注:重新運行配置,需要刪除CMakeCache.txt文件

##################解釋與說明##############################################

-DCMAKE_INSTALL_PREFIX=dir_name

設置mysql安裝目錄

-DMYSQL_UNIX_ADDR=file_name

設置監聽套接字路徑,這必須是一個絕對路徑名。默認為/tmp/mysql.sock的中。

-DDEFAULT_CHARSET=charset_name

設置服務器的字符集。缺省情況下,MySQL使用latin1的(CP1252西歐)字符集。

cmake/character_sets.cmake文件包含允許的字符集名稱列表。

-DDEFAULT_COLLATION=collation_name

設置服務器的排序規則。

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

存儲引擎選項:

MyISAM,MERGE,MEMORY,和CSV引擎是默認編譯到服務器中,並不需要明確地安裝。

靜態編譯一個存儲引擎到服務器,使用-DWITH_engine_STORAGE_ENGINE= 1。

可用的存儲引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和 PERFSCHEMA (Performance Schema).

-DMYSQL_DATADIR=dir_name

設置mysql數據庫文件目錄

-DMYSQL_TCP_PORT=port_num

設置mysql服務器監聽端口,默認為3306

-DENABLE_DOWNLOADS=bool

是否要下載可選的文件。例如,啟用此選項(設置為1),cmake將下載谷歌所使用的測試套件運行單元測試。

########################################################################

6.修改mysql安裝目錄和數據目錄的權限

 cd /usr/local/mysql

 chown -R mysql:mysql .

 cd /data/mysqldb

 chown -R mysql:mysql .

 7.初始化mysql數據庫

 cd /usr/local/mysql

 scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

 8復制mysql服務啟動配置文件

 cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

 9 修改配置文件

 vi /etc/my.cnf

 修改datadir = /data/mysqldb/

 10、復制mysql服務啟動腳本及加入PATH路徑

 cp support-files/mysql.server /etc/init.d/mysqld

 vim /etc/profile

 PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

 export PATH

 source /etc/profile

11、啟動mysql服務並加入開機自啟動

service mysqld start

chkconfig --level 35 mysqld on

12、檢查mysql服務是否啟動

netstat -tulnp | grep 3306

mysql -u root -p

密碼為空,如果能登陸上,則安裝成功。

13、修改MySQL用戶root的密碼

mysqladmin -u root password '123456'

六 復制虛擬機,准備做mysql主從復制

1.可以克隆,也可以直接ctrl+c ctrl+v 復制虛擬機。

2.進入剛復制的虛擬機,由於是復制的,有些地方需要修改

hostname mysql42

/etc/sysconfig/network-scripts/ifcfg-eth0 修改靜態ip為192.168.1.42

rm /etc/udev/rules.d/70-persistent-net.rules 刪除該文件

reboot 重啟

3.重啟後的從服務器,可以用shell進入,需要修改auto.cnf文件(都是復制虛擬機惹的禍)

cd /data/mysqldb/

vi auto.cnf

把這一長串 16進制 修改一個或多個數,比如把0改成1,把2改成a,隨便你改,保證和41服務器不一樣就行

七mysql主從配置

1.設置server_id,設置log-bin

192.168.1.41 主服務器

vi /etc/my.cnf ;

修改server_id=1 ;

修改log-bin=mysqlbin-log;

service mysqld restart 重啟mysql服務

192.168.1.42 從服務器

vi /etc/my.cnf ;

修改server_id=42 ;(隨便取,這裡跟ip對應)

修改log-bin=mysqlbin-log; (從服務器可以不設置)

service mysqld restart 重啟mysql服務

2.主服務器,創建擁有操作主從權限的賬戶

進入mysql mysql -uroot -p123456

GRANT REPLICATION SLAVE ON *.* to 'atfire'@'%' identified by 'atfire123';

atfire是帳號,atfire.cn是密碼

FLUSH PRIVILEGES; 刷新權限,使權限生效,這句一定要執行,不然無效。

show master status; 查看主服務器bin-log日志的當前為止 ,這裡假設是 mysql-bin.000001 120;

3.設置從服務器

進入mysql mysql -uroot -p123456

(可以鍵入命令help change master to 查看相關配置)

CHANGE MASTER TO

MASTER_HOST='192.168.1.41',

MASTER_USER='atfire',

MASTER_PASSWORD='atfire123',

MASTER_PORT=3306,

MASTER_LOG_FILE='mysqlbin-log.000001',

MASTER_LOG_POS= 120

這些參數分別是 主服務器地址,用戶名,密碼,端口號,bin-log日志文件,bin-log日志當前地址(由步驟2中查出)

4. start slave;開啟從服務器線程

5.show slave status\G;查看從服務器信息

如果

Slave_IO_Running=yes

Slave_SQL_Running=yes

那就表示成功了,這個時候可以去主服務器增刪改,從服務器會產生一樣的數據

如果 Slave_IO_Running和Slave_SQL_Running有一個不是yes,那就是出錯了

不管是no還是connecting,都是錯了,要2個都是yes才表示成功

按照筆者的操作下來,理論上是可以成功的(因為筆者是,邊操作,邊記錄的,並且成功了,)

但是實際情況有很多種,也有可能會失敗

出錯的原因有很多種,可以上網查找答案

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved