您好,登錄后才能下訂單哦!
下文主要給大家帶來MySQL密碼管理、存儲引擎及事務相關知識,希望這些內容能夠帶給大家實際用處,這也是我編輯MySQL密碼管理、存儲引擎及事務相關知識這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
1.MYSQL密碼管理:
1.1修改用戶密碼:
(1) SET PASSWORD [FOR 'user'@'host'] = PASSWORD('cleartext password'); (2) UPDATE mysql.user SET Password=PASSWORD('cleartext password') WHERE User='USERNAME' AND Host='HOST'; (3) mysqladmin -uUSERNAME -hHOST -p password 'NEW_PASS' 生效:FLUSH PRIVILEGES
1.2 忘記管理員密碼的解決辦法:
(1) 修改配置文件,添加一下內容: skip-grant-tables #忽略用戶名密碼驗證 skip-networking #禁止遠程登錄提高安全性,注添加后僅能在數據庫本機操作,如不能本機操作不要添加。云主機一般限制僅能辦公區域ip訪問即可。 重啟mysqld服務 (2) mysql直接登錄,通過UPDATE命令修改管理員密碼; (3) 移除第一步添加的兩個選項,以正常方式啟動mysqld進程;
2.MySQL常用存儲引擎:
2.1 INNODB類
擅長處理大量的短期事務,數據存儲于表空間(table space)中
特點:
1. 所有innodb表的數據和索引放置于同一個表空間中 表空間文件:datadir定義的目錄下 數據文件(存儲數據和索引):tbl_name.ibd,tbl_name.frm(表格式定義文件) 2. 基于MVCC來支持高并發,支持所有的四個隔離級別,默認級別為REPEATABLE READ;間隙鎖防止幻讀。 3. 使用聚集索引 4. 支持自適應hash索引 5.備份:支持熱備
MariaDB 默認使用XtraDB (innodb增強版,percona組織研發)
特點:
1.數據存儲:表空間 2.并發:MVCC(多版本并發控制),間隙鎖 3.索引:聚集索引,輔助索引 4.性能:預計操作、自適應hash、插入緩存區 5.備份:支持熱備(XtraBackup備份工具)
2.2MYISAM
支持全文索引(FULLTEXT index)、壓縮、空間函數(GIS);但不支持事務,不支持行級鎖 ,崩潰后無法安全恢復(Aria myisam的增強版支持崩潰安全恢復)
適用場景:只讀(或者寫較少)、表較小(可接受長時間進行修復操作)
文件:
tab1_name.frm:表格式定義 tab1_name.MYD:數據文件 tab1_name.MYI:索引文件
特性:
加鎖和并發:表級鎖 修復:手工或自動修復、但可能丟失數據 索引:非聚集索引 延遲更新索引鍵: 壓縮表
3.MySQL事務:
事務:一組原子性的sql查詢,或者說一個獨立的工作單元。
3.1 ACID測試:
A:原子性, 最小不能分割的單元,要么全部都成功執行,要么全部失敗后回滾。 C:一致性, 數據總是從一個一致性狀態轉到另一個一致性狀態 I:隔離性, 一個事務所做出的操作在提交之間,是不能為其他所見的;隔離有多種隔離級別,隔離性越高安全性越高,同時支持并發的能力越差。 D:持久性, 一旦事務提交,其所作的修改會永久保存于數據庫中
3.2 事務處理過程:
啟動事務:start transaction;
存檔點:savepoint pointname
rollback to pointname 回到存檔點
release pointname 刪除存檔點
結束事務:1.commit 提交 2. rollback 回滾
建議:顯示請求和提交事務,不要使用自動提交功能,自動提交會產生大量磁盤IO影響性能。
方法:set SESSION autocommit=0; show variables like '%auto%';確認
3.3 事務的隔離級別:
查看級別:show global variables like '%tx_isolation%';
READ-UNCOMMITTED #(讀未提交) READ-COMMITTED #(讀提交) REPEATBLE-READ #(可重讀)默認 SERIALIZABILE #(可串行化)
以上事務級別對應的問題:
臟讀:即讀別人未提交的數據 不可重復讀:同一事務中改動之前讀一次,改之后讀一次,兩次讀到的信息不一致(由于查詢時系統中其他事務修改的提交而引起的) 幻讀:別人已經修改提交了,自己在修改前已打開的事務中看到是修改之前的信息。提交事務后會發現信息已改變。 加鎖讀:一個事務做出數據的修改未提交時,其他事務無法提交。
死鎖: 兩個或多個事務在同一資源相互占用,并請求鎖定對方占用的資源的狀態。
事務日志: 事務日志的寫入類型為“追加”,因此其操作為順序IO,此日志也被稱為預寫式日志(write ahead logging)ib_logfile
對于以上關于MySQL密碼管理、存儲引擎及事務相關知識,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。