mysql的複製操作:
1. 主伺服器將資料的改變記錄到二進位制日誌中(binary log)
2. 從伺服器將主伺服器的binlog複製到它的中繼日誌中 relay-log
3. 從伺服器重做主伺服器的事件,將資料的改變保持與主伺服器同步
2. 建立mysql安裝程式的目錄和資料檔案的目錄
mkdir -p /usr/local/mysql
mkdir -p /usr/local/mysql/cata
groupadd mysql
useradd -r -g mysql mysql
3. 解壓原始檔
tar -zxvf mysql-5.6
.tar
.gz cd mysql-5.6
cmake . #編譯原始碼
4. 修改mysql安裝目錄的許可權
chown -r mysql.mysql /usr/local/mysql
5. 安裝原始碼
cd /usr/local/mysql/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
cd /usr/local/mysql/support-files
cp mysql.server /etc/rc.d/init.d/mysql
cp my-default.cnf /etc/my.cnf
chkconfig --add mysql
chkconfig mysql on
6. 啟動mysql
service mysql start
為了本機測試方便,可以使用mysqld_multi開啟多個mysql例項
1. service mysql stop #關閉正在執行的mysql程序
2. lsof -i :3306 檢測埠是否已釋放,mysql是否成功關閉
3. 把常用工具新增到/usr/bin下
ln -s /usr/local/mysql/bin/mysqld_multi /usr/bin/mysqld_multi
ln -s /usr/local/mysql/bin/mysqld_install_db /usr/bin/mysql_install_db
4. 初始化資料目錄並安裝3個mysql服務
cd /usr/local/mysql
mkdir -p /usr/local/var/mysql1
mkdir -p /usr/local/var/mysql2
mkdir -p /usr/local/var/mysql3
5. 從mysql的原始碼中把mysql.server複製到/etc/init.d目錄下,然後執行
cp my-default.cnf /etc/my.cnf
6. 配置/etc/my.cnf
#the mysql server
[mysqld_multi]
mysqld = /usr/local
/mysql/bin
/mysqld_safe
mysqladmin = /usr
/local/mysql
/bin/mysqladmin
user = root
[mysqld1]
port = 3306
[mysqld2]
port = 3307
socket = /tmp/mysql2.sock
datadir = /usr/local
/var/mysql2
[mysqld3]
port = 3308
socket = /tmp/mysql3.sock
datadir = /usr/local
/var/mysql3
[mysqld]
...7. 檢視資料庫的狀態
mysqld_multi --defaults-extra-file=/etc/my.cnf report
8. 使用mysqld_multi啟動mysql服務
mysqld_multi --defaults-extra-file=/etc/my.cnf stop
mysqld_multi --defaults-extra-file=/etc/my.cnf start
mysqld_multi --defaults-extra-file=/etc/my.cnf report
9. 登入資料庫
mysql -uroot -p -p3306
mysql -uroot -p -p3307
mysql -uroot -p -p3308
show variables like 'socket' 檢視資料庫的pid和socket狀態
此時發現3個資料庫的pid和socket都一樣,可以使用mysql -u root -s /tmp/mysql2.sock用-s引數來指定
然後登入檢視可以發現pid和socket檔案都已經改變
10. 重啟資料庫
mysqld_multi --defaults-extra-file=/etc/my.cnf stsrt 1-3
mysql主從複製
罪過啊,博主最近好久沒有更新部落格了,轉有道雲筆記了,筆記裡還有些乾貨,最近慢慢分享出來吧。博主最近發現有好多想學,但是發現精力有限啊,博主本來是搞個開發的,但是偏偏想把運維,dba的技術全都學了 mysql集群,nginx等等等 但是發現精力有限,所以簡單了解一下,mysql的主從複製,後面還有m...
MySQL 主從複製
1.概念 將主伺服器的資料複製到另外一台或多台伺服器的過程。也即將主資料庫的ddl和dml操作通過二進位制日誌傳到復 務器上,然後在從伺服器上對這些日誌進行重新執行,從而 保持資料同步。2.作用 降低主伺服器的訪問壓力 避免主伺服器因故障導致資料丟失。3.操作步驟 1 主伺服器將資料的改變記錄到二進...
MySQL 主從複製
資料分布。負載均衡 備份高可用性和故障切換 mysql公升級測試 mysql實現複製可以看做是三個步驟 在主庫上把資料更改記錄到二進位制日誌 binary log 中 這些記錄被稱為二進位制日誌事件 在每次準備提交事務完成資料更新前,主庫將資料更新的事件記錄到二進位制日誌中,在記錄二進位制日誌後,主...