cài đặt được quản lý thông qua tệp cấu hình người dùng có thể chỉnh sửa, chẳng hạn như /etc/mysql/mysql. conf. d/mysqld. cnf
những nơi có thể có của tệp cnf
- /etc/của tôi. cnf
- /etc/mysql/my. cnf
- $MYSQL_HOME/của tôi. cnf
- [datadir]/của tôi. cnf
- ~/. Của tôi. cnf
để cài đặt Ubuntu của tôi
/etc/mysql/my. cnfliên kết tượng trưng đến liên kết bên dưới/etc/alternatives/my. liên kết cnfsymbolic tới liên kết bên dưới/etc/mysql/mysql. cnfthis cuối cùng là tệp thực
cho cài đặt CentOS của tôi
/etc/của tôi. tệp cnfthis bao gồm thư mục /etc/my. cnf. d/khách hàng. cnfin máy chủ dirmysql đi kèm. cnfin dirmysql-default-authentication-plugin đi kèm. cnfin thư mục đi kèm ~/. Của tôi. cnfkhông có mặt
Bài đăng này bao gồm tất cả các phiên bản của Máy chủ MySQL và dành cho bất kỳ ai đang định cấu hình MySQL bao gồm dbas, nhà phát triển, sinh viên, v.v. Bài đăng giải thích các tệp cấu hình khác nhau được sử dụng bởi Máy chủ MySQL
Của tôi. cnf
Tệp cấu hình mặc định được gọi là my. cnf (hoặc của tôi. ini cho Microsoft Windows) và có thể nằm trong một số thư mục. Trên Linux và các nền tảng liên quan đến Unix khác, các vị trí đang sử dụng /etc/my. cnf, /usr/của tôi. cnf hoặc trong thư mục cài đặt mặc định. Tệp này chứa các cài đặt cấu hình sẽ được tải khi máy chủ khởi động lần đầu tiên, bao gồm các cài đặt cho máy khách, máy chủ, trình bao bọc mysqld_safe và nhiều chương trình máy khách mysql khác
Ghi chú. Kể từ ngày 5. 6 phiên bản của tôi. cnf đã được viết, nhưng tất cả các dòng đều bị xóa. Người dùng được yêu cầu chỉnh sửa thủ công các tùy chọn mà họ muốn sẽ khác với cài đặt mặc định
mới của tôi. cnf
Tệp này được tạo khi có tệp my. cnf và tập lệnh mysql_install_db được chạy. Tập lệnh mysql_install_db được thiết kế để tạo tập lệnh mysql_install_db. cnf nếu nó không tồn tại. Nếu tệp tồn tại, thì tệp được tạo bằng tên my-new. cnf để tránh ghi đè lên tệp cấu hình hiện có. Sau đó, người dùng sẽ so sánh hai tệp cấu hình và xác định tùy chọn nào vẫn hợp lệ cho bản cài đặt mới và thay đổi các tệp theo yêu cầu để có được bản cài đặt mới của tôi. tập tin cấu hình cnf
Của tôi. cnf
Tệp này được sử dụng để xác định các tùy chọn dành riêng cho người dùng
tự động. cnf
Tự động. cnf là một tệp mới được giới thiệu trong 5. 6 phiên bản của máy chủ MySQL. Nó là một phần của hệ thống sao chép mới sử dụng id giao dịch toàn cầu (GTID) và chứa thông tin xác định duy nhất máy chủ bằng UUID. Tệp này được tạo tự động khi phần mềm được cài đặt và không nên thay đổi
Nếu bạn chưa quen với việc quản trị MySQL, tệp cấu hình MySQL hiện tại thường được tìm thấy có tên là my. cnf (của tôi. ini trên cửa sổ). tập tin đó ở đâu
Giá như câu hỏi đó dễ trả lời
Sử dụng các tập tin cấu hình
Theo mặc định, MySQL sẽ sử dụng ít nhất một tệp cấu hình từ các giá trị mặc định sau. MySQL cũng sử dụng cách tiếp cận theo tầng cho các tệp cấu hình. Khi bạn có nhiều tệp trong các đường dẫn thích hợp, bạn có thể thấy hành vi không mong muốn khi ghi đè một số giá trị trong các tệp khác nhau
Tuy nhiên, bạn có thể chỉ định ví dụ –no-defaults để không sử dụng tệp cấu hình hoặc thêm tùy chọn vào thực thi dòng lệnh của mình, do đó, ngay cả khi xem tất cả các tệp cấu hình cũng không đảm bảo cho cấu hình hoạt động của bạn
Tuy nhiên, đối với hầu hết các môi trường, những phức tạp này không tồn tại
Vị trí mặc định
Theo mặc định và trên các máy chủ MySQL phiên bản duy nhất, bạn có nhiều khả năng tìm thấy tệp này có tên là my. cnf và được tìm thấy tại
- /etc/của tôi. cnf
- /etc/mysql/my. cnf
Chúng được gọi là các tệp tùy chọn toàn cầu
Vị trí thay thế
MySQL có cả vị trí cụ thể và người dùng cụ thể. Để bao gồm một tệp cụ thể, vị trí là
- $MYSQL_HOME/của tôi. cnf
trong đó MYSQL_HOME là một biến môi trường được xác định. Các phiên bản MySQL lịch sử cũng đã xem [datadir]/my. cnf tuy nhiên tôi không biết nếu điều này được áp dụng trong 5. phiên bản x
Bạn cũng có thể tùy chọn cụ thể trên cơ sở mỗi người dùng để đưa vào mặc định. Chúng được tìm thấy tại
- $HOME/. Của tôi. cnf
Phân phối các địa điểm cụ thể
Ví dụ, Ubuntu cũng cung cấp khả năng thêm các tùy chọn thông qua một thư mục bao gồm
Chỉ định một cấu hình trong thời gian chạy
Mặc dù bạn có thể có các tệp mặc định này, nhưng bạn có thể chọn khởi động mysql với một tệp cấu hình cụ thể như được chỉ định bởi –defaults-file. Tùy chọn này sẽ ghi đè lên tất cả các vị trí toàn cầu/phiên bản/người dùng và chỉ sử dụng tệp cấu hình này. Bạn cũng có thể chỉ định cấu hình bổ sung bổ sung và không ghi đè mặc định bằng –defaults-extra-file
Tập tin nào trên hệ thống của tôi?
Một lần nữa, giả sử tên mặc định bạn có thể thực hiện kiểm tra vũ phu với
$ sudo find / -name "*my*cnf"Điều này thực sự đáng giá, đặc biệt nếu bạn tìm thấy thư mục /root/. Của tôi. cnf là cài đặt MySQL mặc định cho người dùng 'root' của Hệ điều hành
Đề xuất MySQL
MySQL theo mặc định cung cấp một số tệp được đề xuất, tuy nhiên, những tệp này thường đã lỗi thời, đặc biệt đối với phần cứng mới hơn. Những tập tin này bao gồm my-huge. cnf, lớn của tôi. cnf, phương tiện của tôi. cnf, my-nhỏ. cnf và my-innodb-heavy-4G. cnf. Đừng cho rằng việc thay thế cấu hình của bạn bằng một trong những tệp này sẽ giúp hệ thống của bạn hoạt động tốt hơn
MySQL đã thực hiện một số nỗ lực để sửa những lỗi này và ít nhất là một số lỗi mặc định rất kém với MySQL 5. 4 tuy nhiên tôi không chắc có gì trong MySQL 5. 5
Cấu hình MySQL khi chạy
Mặc dù một số lệnh có thể giúp xác định các tệp cấu hình của bạn và in mặc định, v.v., nhưng bạn cũng có thể thay đổi cấu hình của mình trong thời gian chạy. Có thể những thay đổi này không được phản ánh trong tệp cấu hình của bạn và gây ra sự không khớp bổ sung