mysql


 

端口3306是mysql協議的默認端口,mysql客戶機、mysql連接器以及mysqldump和mysqlpump等實用程序使用該端口。端口33060是MySQL數據庫擴展接口(MySQLX協議)的默認端口。

Port 3306 is the default port for the MySQL Protocol, which is used by the mysql client, MySQL Connectors, and utilities such as mysqldump and mysqlpump. Port 33060 is the default port for the MySQL Database Extended Interface (the MySQL X Protocol).

------------------------------

單張表1000W行是分水嶺(查詢速度),要分庫分表

mysql初始安裝會生成root的隨機密碼,在log日志中

 alter user user() identified by "123456"; //修改登陸密碼

約束條件:null,not null,key,default

普通索引,是最基本的索引,它沒有任何限制

.唯一索引,索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一

主鍵索引,一個表只能有一個主鍵,不允許有空值,不允許重復

外鍵,讓當前表的字段在另一個表中字段值的范圍內選擇,存儲引擎必須時innodb,備參照的字段必須時一種索引

 

存儲引擎

myisam:支持表級鎖,適合查詢較多的場景,節省資源(當同時訪問100行,行級鎖要加鎖100次,表級鎖只需要鎖一次),,不支持事務、事務回滾、外鍵

innodb:支持行級鎖,適合寫較多的場景,高的並發量 ,,,支持事務、事務回滾、外鍵       

鎖粒度(有存儲引擎決定):鎖的范圍,行級鎖,頁級鎖,表級鎖

 

由訪問類型決定:讀鎖(共享鎖):支持並發讀。。寫鎖(互斥鎖,排它鎖):上鎖期間不能讀寫

 

事務:一次sql操作從開始到結束的過程

事務回滾:在事務執行過程中,任意一步操作失敗,都會恢復之前的所有操作(innodb有事務日志文件,未提交的sql命令,和以成功提交的sql命令文件)

事務特性:原子性,一致性,隔離型,持久型

 

 

 

雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行insert、update和delete。因為更新表時,不僅要保存數據,還要保存一下索引文件

備份

物理備份:cp,tar

邏輯:mysqldump --->xx.sql。mysql<xx.sql(命令行),備份時會鎖庫鎖表

    XtraBackup,第三方,在先熱備份,不會鎖庫鎖表,命令行

完全備份

增量:實時binlog日志(記錄出查的所有sql語句,二進制文件),恢復:mysqlbinlog提取sql管道給mysql

  

 

 

差異

 

 

 主從:

  主從同步。

 

 讀寫分離:

    1、(由程序員實現),主寫,從讀

    2、使用Mysql代理服務器(MaxScale),對用戶透明

 

 

調優:

  硬件 cpu 內存 硬盤  帶寬

   運行參數:最大連接數,連接和斷開超時,(理想狀態:實時連接數/配置連接數<=85%)

        緩存大小(查詢緩存,索引緩存)、允許開啟和重構使用的線程數量、開表數量(已打開的表/配置        打開的表<=95%)

  sql語句優化(程序員)(錯誤,查詢,慢查詢日志)

 

高可用MHA

所有數據庫服務器上安裝mha_node軟件包

在管理主機上安裝mha_node和mha_manager軟件包(生產環境最好單獨方在一台機器上)

 命令行啟動MHA &,在其中一台master宕機后,會觸發配置文件里指定的腳本,將vip配置在新的master上

然后 把宕機的主庫修復后添加到集群里, 啟動宕機主庫的數據庫服務器, 把宕機指定為當前主庫的從庫,把宕機的信息再次寫進app1.cnf文件里

然后再次命令行啟動MHA

至少3台機器,一主,1主備,1從,一個manger,兩node

 

 

too many connections 解決方法

explain用法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM