提高效能,MySQL 讀寫分離環境搭建 一

2022-01-20 02:21:40 字數 1819 閱讀 6391

這是松哥之前乙個零散的筆記,整理出來分享給大夥!

mysql 讀寫分離在網際網路專案中應該算是乙個非常常見的需求了。受困於 linux 和 mysql 版本問題,很多人經常會搭建失敗,今天松哥就給大夥舉乙個成功的例子,後面有時間再和大家分享下使用 docker 搭建環境,那樣就 100% 成功了。

自己玩 linux 松哥一般首選 ubuntu,不過公司裡邊使用一般還是 centos 為主,因此這裡松哥就以 centos 為例來向大家演示整個過程,今天這篇文章主要來看看 mysql 的安裝。

環境:具體的安裝步驟如下:

yum list installed | grep mariadb
如果執行結果如下,表示已經安裝了 mariadb,將之解除安裝:

mariadb-libs.x86_64                   1:5.5.52-1.el7                   @anaconda
解除安裝命令如下:

yum -y remove mariadb*
如果 centos 上沒有 wget 命令,首先通過如下命令安裝 wget:

yum install wget
wget
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
執行結果如下表示安裝成功:

yum install mysql-server
systemctl start mysqld.service
systemctl stop mysqld.service
mysql -u root -p
預設無密碼。有的版本有預設密碼,檢視預設密碼,首先去 /etc/my.cnf 目錄下檢視 mysql 的日誌位置,然後開啟日誌檔案,可以看到日誌中有乙個提示,生成了乙個臨時的預設密碼,使用這個密碼登入,登入成功後修改密碼即可。

首先修改密碼策略(這一步不是必須的,如果不修改密碼策略,需要取乙個比較複雜的密碼,松哥這裡簡單起見,就修改下密碼策略):

set global validate_password_policy=0;
然後重置密碼:

set password=password("123");     

flush privileges;

grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;

flush privileges;

修改 mysql 庫中的 user 表,將 root 使用者的 host 欄位的值改為%,然後重啟 mysql 即可。

systemctl stop firewalld.service
禁止firewall開機啟動:

systemctl disable firewalld.service

MySQL臨時提高效能方案

參考自 極客時間 22 mysql有哪些 飲鴆止渴 提高效能的方法?短連線 連線到資料庫執行很少sql後就被斷開。在業務高峰期,可能會出現連線數暴漲的問題。影響 mysql建立連線的成本很高,除了正常的網路連線三次握手外,還需要做登入許可權判斷和獲得這個連線的資料讀寫許可權。如何識別不工作執行緒?首...

SQL 提高效能

參考部落格 非常感謝博主分享。1.set nocount on 關閉行基數資訊,減少網路通訊,提高程式效能。2.count 1 count 2 count name count 前三種效果一樣,count 找出最短的列,所以建議用count 1 效率高。3.with nolock 大量的查詢,會導致...

mysql讀寫分離

5.讀寫分離適用與讀遠大於寫的場景,如果只有一台伺服器,當select很多時,update和delete會被這些select訪問中的資料堵塞,等待select結束,併發效能不高。對於寫和讀比例相近的應用,應該部署雙主相互複製。6.可以在從庫啟動是增加一些引數來提高其讀的效能,例如 skip inno...