一、介紹
MySQL是一個著名的開源關係型資料庫管理系統,它使用文本文件my.ini來配置資料庫的各種參數。my.ini文件中的參數對資料庫的性能、安全性、可用性非常重要。
二、文件位置
在Windows系統下,my.ini文件默認存放在MySQL安裝目錄下。在Linux系統下,my.cnf文件的位置可能會因髮型版本而不同,一般可以放在/etc/my.cnf或者/etc/mysql/my.cnf中。
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
bind-address = 0.0.0.0
pid-file = /usr/local/mysql/data/mysql.pid
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/data/mysql.err
log-bin = /usr/local/mysql/data/mysql-bin
expire_logs_days= 7
max_binlog_size = 100M
default-storage-engine=MyISAM
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
default-character-set=utf8mb4
三、參數說明
1、[client]
這個部分是MySQL客戶端的默認參數。這些參數將在客戶端使用MySQL時生效。
2、[mysqld]
這個部分包含了MySQL伺服器的默認參數。這些參數將在運行MySQL伺服器時生效。
3、[mysqldump]
這個部分是備份工具mysqldump的默認參數。當使用mysqldump命令備份MySQL資料庫時,將啟用這些參數。
4、[mysql]
這個部分包含了默認的MySQL客戶端參數。這些參數將在運行MySQL客戶端時生效。
四、常用參數說明
1、port
MySQL伺服器監聽的埠號,默認為3306。可以在客戶端通過指定埠連接到MySQL服務。
port = 3306
2、socket
MySQL伺服器的Unix socket文件路徑,用於本地進程之間的通信。默認值一般為/tmp/mysql.sock。
socket = /tmp/mysql.sock
3、bind-address
MySQL伺服器綁定的IP地址,用於指定伺服器可監聽的網路介面。當指定為0.0.0.0時,伺服器將監聽所有網路介面,允許遠程客戶端連接。當指定為127.0.0.1時,伺服器只監聽本地IP地址。
bind-address = 0.0.0.0
4、pid-file
MySQL伺服器進程ID保存的文件路徑。默認為MySQL數據目錄下的mysql.pid。
pid-file = /usr/local/mysql/data/mysql.pid
5、datadir
MySQL資料庫文件保存的路徑。默認為MySQL安裝目錄下的data。
datadir = /usr/local/mysql/data
6、log-error
MySQL伺服器錯誤日誌文件路徑。MySQL伺服器將記錄所有的錯誤信息,包括警告和錯誤信息。
log-error = /usr/local/mysql/data/mysql.err
7、log-bin
MySQL二進位日誌文件的路徑。二進位日誌是MySQL伺服器的一種日誌格式,用於記錄資料庫的修改操作。這個參數默認為空,表示關閉二進位日誌。
log-bin = /usr/local/mysql/data/mysql-bin
8、expire_logs_days
MySQL二進位日誌的過期時間,單位為天。在過期時間內,MySQL將保留所有的二進位日誌文件。當二進位日誌超過過期時間後,MySQL將刪除這些日誌文件。
expire_logs_days = 7
9、max_binlog_size
每個二進位日誌文件的最大大小,單位為位元組。當二進位日誌文件達到指定的最大值後,MySQL伺服器將自動創建一個新的二進位日誌文件。
max_binlog_size = 100M
10、default-storage-engine
默認的存儲引擎。MySQL支持多種存儲引擎,如InnoDB、MyISAM等。這個參數可以指定MySQL新建表時所使用的存儲引擎類型。
default-storage-engine = MyISAM
11、character-set-server
MySQL伺服器的默認字符集。
character-set-server = utf8mb4
12、collation-server
MySQL伺服器的默認字符集排序規則。
collation-server = utf8mb4_unicode_ci
13、quick
mysqldump命令參數,強制mysqldump使用INSERT語句將數據導出到備份文件中。
quick
14、quote-names
mysqldump命令參數,轉義數據導出中的數據表或列名。
quote-names
15、max_allowed_packet
mysqldump命令參數,指定可以發送到MySQL伺服器的最大數據包大小。
max_allowed_packet = 16M
16、default-character-set
MySQL客戶端的默認字符集。
default-character-set = utf8mb4
五、結語
my.ini文件中包含了許多MySQL伺服器和客戶端的默認配置參數。這些參數可以通過修改my.ini文件來進行定製化配置。正確的參數配置可以顯著提升MySQL的性能、可用性和安全性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/295299.html