前言 |
數據庫,數據存儲的倉庫,項目中的數據流動都要存在數據庫中,數據庫是項目中不可缺失的一部分,數據的訪問速度直接影響項目的性能,那怎麼讓數據庫的讀寫更快一點呢? 主從複製+讀寫分離可以讓讀操作和寫操作的壓力分佈在兩個數據庫中,下面就說一下在linux上搭建的全過程!
MySQL的安裝 |
- 下載mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
如果沒有 wget命令安裝一下即可
yum -y install wget
- 安裝MySQL的rpm包
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
- 安裝MySQL
sudo yum install mysql-server
- 重置MySQL密碼
mysql -u root
- 重啓MySQL服務
service mysqld restart
- 接着登陸設置密碼
mysql -u root
use mysql;
update user set password=password('123456') where user='root';
重啓MySQL服務
service mysqld restart
- 設置Root賬戶遠程連接密碼
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
重啓服務器
service mysqld restart
- 現在可以用navicat連接MySQL了,如果連接不了,關閉防火牆,命令如下
systemctl stop firewalld.service
搭建MySQL的主從複製 |
環境準備
兩臺MySQL虛擬機:
192.168.50.150(主)
192.168.50.151(從)
配置主
- 修改 /etc/my.cng 文件
server_id=150 服務器id
log-bin=mysql-bin 開啓日誌文件
重啓MySQL服務
- 在navicat中驗證是否已經配置成功
show variables like '%server_id%';
配置從
- 修改 /etc/my.cng 文件
server_id=150 服務器id
log-bin=mysql-bin 開啓日誌文件
binlog_do_db=test test是我要同步的數據庫
重啓MySQL服務
- 在navicat中驗證是否已經配置成功
- 查詢主服務器上的二進制配置文件,下一步要用到
show master status;
4. 配置 從服務器同步主服務器
CHANGE MASTER TO master_host = '192.168.50.150',
master_user = 'root',
master_password = 'root',
master_log_file = 'mysql-bin.000006',
master_log_pos = 120;
- 開始同步
start slave
- 檢查從服務器複製功能狀態
SHOW SLAVE STATUS
- 至此MySQL的主從複製就搭建好了
總結 |
通過博客把學到的知識在鞏固一遍,下篇博客說一下利用MyCat實現MySQL的讀寫分離.