標籤:資料庫安裝 設定檔 密碼
一、重設MySql資料庫root密碼
l 修改設定檔
vim /etc/my.conf #資料庫安裝時產生的位置
###在[mysqld]這個模組裡加入代碼:skip-grant
/etc/init.d/mysqld restart #修改後需要重啟服務生效
重新登陸root使用者 mysql –uroot #不要求輸入密碼即可登入root賬戶
show databases; #查看有哪些資料庫
use mysql; #使用mysql資料庫,密碼存放在此資料庫
show tables; #查看有哪些表
#把user表root使用者的密碼修改為XXX
update user set password=passwoed(‘XXX’) where user=’root
#退出資料庫
quit
l 把my.conf裡[mysqld]模組裡的skip-grant刪掉,重啟服務。
若要加快網路資料庫訪問速度,在[mysqld]模組裡加入代碼:
skip-name-resolve
skip-innodb #資料量大用innodb (如銀行)資料量小用myisam
二、Mysql最佳化
MySQL調優可以從幾個方面來做:
1. 架構層:
做從庫,實現讀寫分離;
2.系統層次:
增加記憶體;
給磁碟做raid0或者raid5以增加磁碟的讀寫速度;
可以重新掛載磁碟,並加上noatime參數,這樣可以減少磁碟的i/o;
3. MySQL本身調優:
(1) 如果未配置主從同步,可以把bin-log功能關閉,減少磁碟i/o
(2) 在my.cnf中加上skip-name-resolve,這樣可以避免由於解析主機名稱延遲造成mysql執行慢
(3) 調整幾個關鍵的buffer和cache。調整的依據,主要根據資料庫的狀態來調試。
4. 應用程式層次:
查看慢查詢日誌,根據慢查詢日誌最佳化程式中的SQL語句,比如增加索引
5. 調整幾個關鍵的buffer和cache
1) key_buffer_size 首先可以根據系統的記憶體大小設定它,大概的一個參考值:1G以下記憶體設定128M;2G/256M; 4G/384M;8G/1024M;16G/2048M.這個值可以通過檢查狀態值Key_read_requests和 Key_reads,可以知道key_buffer_size設定是否合理。比例key_reads / key_read_requests應該儘可能的低,至少是1:100,1:1000更好(上述狀態值可以使用SHOW STATUS LIKE ‘key_read%’獲得)。注意:該參數值設定的過大反而會是伺服器整體效率降低!
2) table_open_cache 開啟一個表的時候,會臨時把表裡面的資料放到這部分記憶體中,一般設定成1024就夠了,它的大小我們可以通過這樣的方法來衡量: 如果你發現 open_tables等於table_cache,並且opened_tables在不斷增長,那麼你就需要增加table_cache的值了(上述狀態值可以使用SHOW STATUS LIKE ‘Open%tables’獲得)。注意,不能盲目地把table_cache設定成很大的值。如果設定得太高,可能會造成檔案描述符不足,從而造成效能不穩定或者串連失敗。
3) sort_buffer_size 查詢排序時所能使用的緩衝區大小,該參數對應的分配記憶體是每串連獨佔!如果有100個串連,那麼實際分配的總共排序緩衝區大小為100 × 4 = 400MB。所以,對於記憶體在4GB左右的伺服器推薦設定為4-8M。
4) read_buffer_size 讀查詢操作所能使用的緩衝區大小。和sort_buffer_size一樣,該參數對應的分配記憶體也是每串連獨享!
5) join_buffer_size 聯集查詢操作所能使用的緩衝區大小,和sort_buffer_size一樣,該參數對應的分配記憶體也是每串連獨享!
6) myisam_sort_buffer_size 這個緩衝區主要用於修複表過程中排序索引使用的記憶體或者是建立索引時排序索引用到的記憶體大小,一般4G記憶體給64M即可。
7) query_cache_size MySQL查詢操作緩衝區的大小,通過以下做法調整:SHOW STATUS LIKE ‘Qcache%’; 如果Qcache_lowmem_prunes該參數記錄有多少條查詢因為記憶體不足而被移除出查詢快取。通過這個值,使用者可以適當的調整緩衝大小。如果該值非常大,則表明經常出現緩衝不夠的情況,需要增加緩衝大小;Qcache_free_memory:查詢快取的記憶體大小,通過這個參數可以很清晰的知道當前系統的查詢記憶體是否夠用,是多了,還是不夠用,我們可以根據實際情況做出調整。一般情況下4G記憶體設定64M足夠了。
8) thread_cache_size 表示可以重新利用儲存在緩衝中線程的數,參考如下值:1G —> 8 2G —> 16 3G —> 32 >3G —> 64
除此之外,還有幾個比較關鍵的參數:
9) thread_concurrency 這個值設定為cpu核心數的2倍即可
10) wait_timeout 表示閒置連線逾時時間,預設是28800s,這個參數是和interactive_timeout一起使用的,也就是說要想讓wait_timeout 生效,必須同時設定interactive_timeout,建議他們兩個都設定為10
11) max_connect_errors 是一個MySQL中與安全有關的計數器值,它負責阻止過多嘗試失敗的用戶端以防止暴力破解密碼的情況。與效能並無太大關係。為了避免一些錯誤我們一般都設定比較大,比如說10000
12) max_connections 最大的串連數,根據業務請求量適當調整,設定500足夠
13) max_user_connections 是指同一個帳號能夠同時串連到mysql服務的最大串連數。設定為0表示不限制。通常我們設定為100足夠
本文出自 “linux小記” 部落格,請務必保留此出處http://lstulinux.blog.51cto.com/3938932/1701469
MySQL重設密碼以及最佳化