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
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才表示成功
按照筆者的操作下來,理論上是可以成功的(因爲筆者是,邊操作,邊記錄的,並且成功了,)
但是實際情況有很多種,也有可能會失敗
出錯的原因有很多種,可以上網查找答案