服務器基本環境:
兩台centos6.4、iptables diabled 、selinux disabled
兩台的hosts解析
#yum install mysql -y //這個安不安裝不太影響,但是要使用mysqldump命令的話必須要安裝,避免麻煩最好還是裝吧
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線程必須都通信成功!!!!主備才能同步!!!