標籤:
伺服器基本環境:
兩台centos6.4、iptables diabled 、selinux disabled
兩台的hosts解析
mysql安裝(兩台相同操作):
mysql使用者和組
#groupadd mysql
#useradd -r -g mysql mysql
mysql的各種使用目錄
資料目錄掛載點:/data
資料庫base目錄:/usr/local/mysql
資料庫設定檔位置:/etc/my.cnf
資料庫資料目錄:/data/mysql
innodb資料和innodb日誌目錄:/data/mysql
#mkdir /data/mysql
#mkdir /usr/local/mysql
mysql解壓
#tar zxvf /home/mysql-5.5.9.tar.gz -C /data
mysql編譯
#cmake . \
>-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
>-DMYSQL_DATADIR=/data/mysql/ \
>-DWITH_INNOBASE_STORAGE_ENGINE=1 \
>-DENABLED_LOCAL_INFILE=1 \
>-DMYSQL_TCP_PORT=3306 \
>-DEXTRA_CHARSETS=all \
>-DDEFAULT_CHARSET=utf8 \
>-DDEFAULT_COLLATION=utf8-general_ci \
>-DWITH_DEBUG=
斷行符號
#make && make install
mysql設定檔
#cd /usr/local/mysql
#cp /data/mysql-5.5.9/support-files/my-medium.cnf /etc/my.cnf
mysql啟動指令碼
#cp /data/mysql-5.5.9/support-files/mysql.server /etc/init.d/mysqld
#chmod +x /etc/init.d/mysqld
初始化資料庫
#cd /usr/local/mysql
#./usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/data/mysql
啟動mysql
#/etc/init.d/mysqld start
設定root密碼
#mysql -uroot -p //介個時候是木有密碼的 直接斷行符號就ok了
mysql>update mysql.user set password=password("password") where user="root";
//mysq是資料庫名,user是表名
mysql>flush privileges;
主從配置:
主伺服器配置
mysql>grant replication slave on *.* to ‘mysql‘@‘從伺服器IP‘ identified by ‘password‘;
mysql>show master status;
#vim /etc/my.cnf //需要改兩個地方
log-bin=mysql-bin //一般情況下是這種顯示,log-bin必須設定成mysql-bin,此項開啟mysql會產生許多類似mysql-bin.00001的檔案,這些檔案主要是用來記錄資料恢複、主從伺服器之間同步資料的操作。如果不做高可用,這個選項可以禁掉,以免影響系統效能。
server-id = 144 //server-id是用來識別服務器的線程,類如mysql高可用時,master線程和slave線程使用這個來標示的。主備的id一定要不一樣(否則你的I/O進程會通訊失敗),即使是一個主N個備,那這N個備之間的id也要不一樣。
從伺服器設定
#vim /etc/my.cnf //需要改兩個地方
log-bin=mysql-bin
server-id = 145
mysql>change master to master_host=‘主伺服器IP‘,master_user=‘mysql‘,master_password=‘password‘;
mysql>start slave
mysql>show slave status\G
I/O進程和sql線程必須都通訊成功!!!!主備才能同步!!!
mysql高可用(主備)