mysql安裝后配置文件相關配置


mysql安裝后,需要設置一些基本配置以更好的使用。

vi /etc/my.cnf

在文件末尾添加:

sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
plugin-load-add=validate_password.so
validate-password=OFF
lower_case_table_names = 1

 

配置項說明:

1.sql_mode

STRICT_TRANS_TABLES:在該模式下,如果一個值不能插入到一個事務表中,則中斷當前的操作,對非事務表不做任何限制
NO_ZERO_IN_DATE:在嚴格模式,不接受月或日部分為0的日期。如果使用IGNORE選項,我們為類似的日期插入'0000-00-00'。在非嚴格模式,可以接受該日期,但會生成警告。
NO_ZERO_DATE:在嚴格模式,不要將 '0000-00-00'做為合法日期。你仍然可以用IGNORE選項插入零日期。在非嚴格模式,可以接受該日期,但會生成警告
ERROR_FOR_DIVISION_BY_ZERO:在嚴格模式,在INSERT或UPDATE過程中,如果被零除(或MOD(X,0)),則產生錯誤(否則為警告)。如果未給出該模式,被零除時MySQL返回NULL。如果用到INSERT IGNORE或UPDATE IGNORE中,MySQL生成被零除警告,但操作結果為NULL
NO_AUTO_CREATE_USER:防止GRANT自動創建新用戶,除非還指定了密碼
NO_ENGINE_SUBSTITUTION:如果需要的存儲引擎被禁用或未編譯,那么拋出錯誤。不設置此值時,用默認的存儲引擎替代,並拋出一個異常

2.plugin-load-add

   裝載插件

   validate_password.so:加密認證插件

3.validate-password

   是否開啟密碼認證

   ON:開啟

   OFF:關閉

4.lower_case_table_names

 linux下:
    數據庫名與表名是嚴格區分大小寫的;
    表的別名是嚴格區分大小寫的;
    列名與列的別名在所有的情況下均是忽略大小寫的;
    變量名也是嚴格區分大小寫的;

   為了不區分表名和字段名大小寫,需要對該參數進行設置

   0:使用CREATE TABLE或CREATE DATABASE語句指定的大小寫字母在硬盤上保存表名和數據庫名。名稱比較對大小寫敏感。

   1:表名在硬盤上以小寫保存,名稱比較對大小寫不敏感。MySQL將所有表名轉換為小寫在存儲和查找表上。該行為也適合數據庫名和表的別名。

   2:表名和數據庫名在硬盤上使用CREATE TABLE或CREATE DATABASE語句指定的大小寫字母進行保存,但MySQL將它們轉換為小寫在查找表上。名稱比較對大小寫不敏感,即按照大小寫來保存,按照小寫來比較。

        注釋:只在對大小寫不敏感的文件系統上適用! innodb表名用小寫保存。

 


免責聲明!

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



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