導航:首頁 > 文件管理 > mysql指定配置文件

mysql指定配置文件

發布時間:2023-04-15 06:02:56

❶ 如何指定mysql 使用的配置文件

一、mysql_install_db說明 當MySQL的系統庫(mysql系統庫)發生故障或需要新加一個mysql實例時,需要初始化mysql資料庫。 需要使用的命令:/usr/local/mysql/bin/mysql_install_db #/usr/local/mysql/bin/mysql_install_db --help 可以查看幫助

❷ mysql的配置文件主要信息

MySQL的配置蠢哪文件主要包括:
1) 全局設置:配置伺服器的多樣性和安全;
2) 登錄認證:設置用戶登錄mysql時所需的用戶名、密碼和其它認證信息等;
3) 資料庫設置:針對特定資料庫的參數,以及不同資料庫的訪問許可權;
4) 數據表設置:包括表的編碼、大小等等;
5) 網路配置余檔虧:設置mysql伺服器的網豎神絡參數,以及持續的連接狀態。

❸ 誰能解釋一下mysql配置文件

[mysqld]
port = 3306
serverid = 1
socket = /tmp/mysql.sock
skip-locking
# 避免MySQL的外部鎖定,減少出錯幾率增強穩定性。
skip-name-resolve
禁止MySQL對外部連接進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。但需要注意,如果開啟該選項,則所有遠程主機連接授權都要使用IP地址方式,否則MySQL將無法正常處理連接請求!
back_log = 384
指定MySQL可能的連接數量。當MySQL主線程在很短的時間內接收到非常多的連接請求,該參數生效,主線程花費很短的時間檢查連接並且啟動一個新線程。
back_log 參數的值指出在MySQL暫時停止響應新請求之前的短時間內多少個請求可以被存在堆棧中。如果系統在一個短時間內有很多連接,則需要增大該參數的值,該參數值指定到來的TCP/IP連接的偵聽隊列的大小。不同的操作系統在這個隊列大小上有它自己的限制。
試圖設定back_log高於你的操作系統的限制將是無效的。默認值為50。對於linux系統推薦設置為小於512的整數。
key_buffer_size = 256M
# key_buffer_size指定用於索引的緩沖區大小,增加它可得到更好的索引處理性能。
對於內存在4GB左右的伺服器該參數可設置為256M或384M。
注意:該參數值設置的過大反而會是伺服器整體效率降低!
max_allowed_packet = 4M
thread_stack = 256K
table_cache = 128K
sort_buffer_size = 6M
查詢排序時所能使用的緩沖區大小。注意:該參數對應的分配內存是每連接獨占!如果有100個連接,那麼實際分配的總共排序緩沖區大小為100 × 6 = 600MB。所以,對於內存在4GB左右的伺服器推薦設置為6-8M。
read_buffer_size = 4M
讀查詢操作所能使用的緩沖區大小。和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享!
join_buffer_size = 8M
聯合查詢操作所能使用的緩沖區大小,和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享!
myisam_sort_buffer_size = 64M
table_cache = 512
thread_cache_size = 64
query_cache_size = 64M
指定MySQL查詢緩沖區的大小。可以通過在MySQL控制台執行以下命令觀察:
# > SHOW VARIABLES LIKE '%query_cache%';
# > SHOW STATUS LIKE 'Qcache%';
# 如果Qcache_lowmem_prunes的值非常大,則表明經常出現緩沖不夠的情況;
如果Qcache_hits的值非常大,則表明查詢緩沖使用非常頻繁,如果該值較小反而會影響效率,那麼可以考慮不用查詢緩沖;Qcache_free_blocks,如果該值非常大,則表明緩沖區中碎片很多。
tmp_table_size = 256M
max_connections = 768
指定MySQL允許的最大連接進程數。如果在訪問論壇時經常出現Too Many Connections的錯誤提 示,則需要增大該參數值。
max_connect_errors = 10000000
wait_timeout = 10
指定一個請求的最大連接時間,對於4GB左右內存的伺服器可以設置為5-10。
thread_concurrency = 8
該參數取值為伺服器邏輯CPU數量×2,在本例中,伺服器有2顆物理CPU,而每顆物理CPU又支持H.T超線程,所以實際取值為4 × 2 = 8
skip-networking
開啟該選項可以徹底關閉MySQL的TCP/IP連接方式,如果WEB伺服器是以遠程連接的方式訪問MySQL資料庫伺服器則不要開啟該選項!否則將無法正常連接!

在主伺服器和從伺服器上,均必須使用server-id選項為每個伺服器建立唯一的復制ID。你應為每個主伺服器和從伺服器從1到232–1的范圍挑一個唯一的正整數。例如:server-id=3

用於主伺服器上控制二進制日誌的選項的相關描述見5.11.3節,「二進制日誌」。

下表描述了可以用於MySQL 5.1從屬復制伺服器的選項。你可以在命令行中或在選項文件中指定這些選項。

某些從伺服器復制選項按特殊方式處理,當從伺服器啟動時如果master.info文件存在並且包含選項值,它們將被忽略掉。下面的選項按這種方式處理:

· --master-host

· --master-user

· --master-password

· --master-port

· --master-connect-retry

· --master-ssl

· --master-ssl-ca

· --master-ssl-capath

· --master-ssl-cert

· --master-ssl-cipher

· --master-ssl-key

5.1 中的master.info文件格式包括對應SSL選項的值。並且,文件格式包括文件中的行號,如同第1行。如果你將舊的伺服器升級到新的版本,新伺服器啟動時自動將smaster.info文件升級到新的格式。然而,如果將新伺服器降級到舊的版本,首次啟動舊版本的伺服器之前應刪除第1行。

如果從伺服器啟動時master.info文件不存在,選項採用選項文件或命令行中指定的值。首次將伺服器作為從伺服器啟動時,或者已經運行RESET SLAVE然後已經關閉並重啟從伺服器時會發生。

如果從伺服器啟動時master.info文件存在,伺服器忽略那些選項。使用master.info文件中發現的值。

如 果你使用與master.info文件中相對應的啟動選項的不同的值重啟從伺服器,啟動選項的不同的值不會生效,因為伺服器繼續使用 master.info文件。要想使用啟動選項的不同的值,必須刪除master.info文件並重啟從伺服器,或(最好是)在從伺服器運行時使用 CHANGE MASTER TO語句重新設置值。

假定在my.cnf文件中指定該選項:

[mysqld]
master-host=some_host
第1次作為復制從伺服器啟動伺服器時,從my.cnf文件讀取並使用選項。伺服器然後記錄master.info文件中的值。下次啟動伺服器時,它只從伺服器的master.info文件讀取主伺服器主機值並忽略選項文件中的值。如果你修改my.cnf文件為some_other_host指定其它主伺服器主機,更改仍然不會生效。你應使用CHANGE MASTER TO。

因為伺服器給已有master.info文件的優先權高於剛剛描述的啟動選項,可以選擇不使用這些值的啟動選項,而是使用CHANGE MASTER TO語句來指定。參見13.6.2.1節,「CHANGE MASTER TO語法」。

下面的例子顯示了如何更廣泛地使用啟動選項來配置從伺服器:

[mysqld]
server-id=2
master-host=db-master.mycompany.com
master-port=3306
master-user=pertinax
master-password=freitag
master-connect-retry=60
report-host=db-slave.mycompany.com
下面列出了控制復制的啟動選項:許多選項可以在伺服器運行時通過CHANGE MASTER TO語句重新進行設置。其它選項,例如--replicate-*選項,只能在從伺服器啟動時進行設置。我們計劃將修復該問題。

· --logs-slave-updates

通常情況,從伺服器從主伺服器接收到的更新不記入它的二進制日誌。該選項告訴從伺服器將其SQL線程執行的更新記入到從伺服器自己的二進制日誌。為了使該選項生效,還必須用--logs-bin選項啟動從伺服器以啟用二進制日誌。如果想要應用鏈式復制伺服器,應使用--logs-slave- updates。例如,可能你想要這樣設置:

A -> B -> C
也就是說,A為從伺服器B的主伺服器,B為從伺服器C的主伺服器。為了能工作,B必須既為主伺服器又為從伺服器。你必須用--logs-bin啟動A和B以啟用二進制日誌,並且用--logs-slave-updates選項啟動B。

· --logs-warnings

讓從伺服器向錯誤日誌輸出更詳細的關於其執行操作的消息。例如,通知你網路/連接失敗後已經成功重新連接,並通知你每個從伺服器線程如何啟動。該選項默認啟用;要想禁用它,使用--skip-logs-warnings。放棄的連接不記入錯誤日誌,除非該值大於1。

請注意該選項的效果不限於復制。可以對伺服器的部分動作產生警告。

· --master-connect-retry=seconds

在主伺服器宕機或連接丟失的情況下,從伺服器線程重新嘗試連接主伺服器之前睡眠的秒數。如果主伺服器.info文件中的值可以讀取則優先使用。如果未設置, 默認值為60。

· --master-host=host

主復制伺服器的主機名或IP地址。如果沒有給出該選項,從伺服器線程不啟動。如果主伺服器.info文件中的值可以讀取則優先使用。

· --master-info-file=file_name

從伺服器用於記錄主伺服器的相關信息使用的文件名。默認名為數據目錄中的mysql.info。

· --master-password=password

連接主伺服器時從伺服器線程用於鑒定的賬戶的密碼。如果主伺服器.info文件中的值可以讀取則優先使用。如果未設置,假定 密碼為空。

· --master-port=port_number

主伺服器正幀聽的TCP/IP埠號。如果主伺服器.info文件中的值可以讀取則優先使用。如果未設置,假定使用編譯進來的設定值。如果你未曾用configure選項進行修改,該值應為3306。

· --master-ssl、--master-ssl-ca=file_name、--master-ssl-capath= directory_name、--master-ssl-cert=file_name、--master-ssl-cipher= cipher_list、--master-ssl-key=file_name

這些選項用於使用SSL設置與主伺服器的安全復制連接。它們的含義與5.8.7.6節,「SSL命令行選項」中描述的相應—ssl、--ssl-ca、--ssl-capath、--ssl-cert、-- ssl-cipher、--ssl-key選項相同。如果主伺服器.info文件中的值可以讀取則優先使用。

· --master-user=username

連接主伺服器時從伺服器線程用於鑒定的賬戶的用戶名。該賬戶必須具有REPLICATION SLAVE許可權。如果主伺服器.info文件中的值可以讀取則優先使用。如果未設置主伺服器用戶,假定使用用戶test。

· --max-relay-logs-size=size

自動循環中繼日誌。參見5.3.3節,「伺服器系統變數」。

· --read-only

該選項讓從伺服器只允許來自從伺服器線程或具有SUPER許可權的用戶的更新。可以確保從伺服器不接受來自客戶的更新。

· --relay-log=file_name

中繼日誌名。默認名為host_name-relay-bin.nnnnnn,其中host_name是從伺服器主機的名,nnnnnn表示中繼日誌在編號序列中創建。如果中繼日誌太大(並且你不想降低max_relay_log_size),需要將它們放到數據目錄之外的其它地方,或者如果想要通過硬碟之間的負載均衡提高速度,可以指定選項創建與主機名無關的中繼日誌名。

· --relay-log-index=file_name

中繼日誌索引文件使用的位置和名稱。默認名為host_name-relay-bin.index,其中host_name為從伺服器名。

· --relay-log-info-file=file_name

從伺服器用於記錄中繼日誌相關信息的文件名。默認名為數據目錄中的relay-log.info。

· --relay-log-purge={0|1}

禁用或啟用不再需要中繼日誌時是否自動清空它們。默認值為1(啟用)。這是一個全局變數,可以用SET GLOBAL Relay_log_purge動態更改。

· --relay-log-space-limit=size

限制所有中繼日誌在從伺服器上所佔用空間的上限(0值表示「無限制」)。從伺服器主機硬碟空間有限時很有用。達到限制後,I/O線程停止從主伺服器讀取二進制日誌中的事件,直到SQL線程被閉鎖並且刪除了部分未使用的中繼日誌。請注意該限制並不是絕對的:有可能SQL線程刪除中繼日誌前需要更多的事件。在這種情況下,I/O線程將超過限制,直到SQL線程可以刪除部分中繼日誌。(不這樣做將會造成死鎖)。--relay-log-space-limit的值不能小於--max-relay-logs-size(或如果--max-relay-logs-size為0,選--max-binlog-size) 的值的兩倍。在這種情況下,有可能I/O線程等待釋放空間,因為超過了--relay-log-space-limit,但SQL線程沒有要清空的中繼日誌,不能滿足I/O線程的需求。強制I/O線程臨時忽視--relay-log-space-limit。

· --replicate-do-db=db_name

告訴從伺服器限制默認資料庫(由USE所選擇)為db_name的語句的復制。要指定多個資料庫,應多次使用該選項,每個資料庫使用一次。請注意不復制跨資料庫的語句,例如當已經選擇了其它資料庫或沒有資料庫時執行UPDATE some_db.some_table SET foo='bar'。如果需要跨資料庫進行更新,使用--replicate-wild-do-table=db_name.%。請讀取該選項列表後面的注意事項。

一個不能按照期望工作的例子:如果用--replicate-do-db=sales啟動從伺服器,並且在主伺服器上執行下面的語句,UPDATE語句不會復制:

USE prices;
UPDATE sales.january SET amount=amount+1000;
如果需要跨資料庫進行更新,應使用--replicate-wild-do-table=db_name.%。

「只檢查默認資料庫」行為的主要原因是語句自己很難知道它是否應被復制(例如,如果你正使用跨資料庫的多表DELETE語句或多表UPDATE語句)。如果不需要,只檢查默認資料庫比檢查所有資料庫要快得多。

· --replicate-do-table=db_name.tbl_name

告訴從伺服器線程限制對指定表的復制。要指定多個表,應多次使用該選項,每個表使用一次。同--replicate-do-db對比,允許跨資料庫更新。請讀取該選項列表後面的注意事項。

· --replicate-ignore-db=db_name

告訴從伺服器不要復制默認資料庫(由USE所選擇)為db_name的語句。要想忽略多個資料庫,應多次使用該選項,每個資料庫使用一次。如果正進行跨資料庫更新並且不想復制這些更新,不應使用該選項。請讀取該選項後面的注意事項。

一個不能按照期望工作的例如:如果用--replicate-ignore-db=sales啟動從伺服器,並且在主伺服器上執行下面的語句,UPDATE語句不會復制:

· USE prices;
· UPDATE sales.january SET amount=amount+1000;
如果需要跨資料庫更新,應使用--replicate-wild-ignore-table=db_name.%。

· --replicate-ignore-table=db_name.tbl_name

告訴從伺服器線程不要復制更新指定表的任何語句(即使該語句可能更新其它的表)。要想忽略多個表,應多次使用該選項,每個表使用一次。同--replicate-ignore-db對比,該選項可以跨資料庫進行更新。請讀取該選項後面的注意事項。

· --replicate-wild-do-table=db_name.tbl_name

告訴從伺服器線程限制復制更新的表匹配指定的資料庫和表名模式的語句。模式可以包含『%』和『_』通配符,與LIKE模式匹配操作符具有相同的含義。要指定多個表,應多次使用該選項,每個表使用一次。該選項可以跨資料庫進行更新。請讀取該選項後面的注意事項。

例如:--replicate-wild-do-table=foo%.bar%只復制資料庫名以foo開始和表名以bar開始的表的更新。

如 果表名模式為%,可匹配任何錶名,選項也適合資料庫級語句(CREATE DATABASE、DROP DATABASE和ALTER DATABASE)。例如,如果使用--replicate-wild-do-table=foo%.%,如果資料庫名匹配模式foo%,則復制資料庫級語句。

要想在資料庫或表名模式中包括通配符,用反斜線對它們進行轉義。例如,要復制名為my_own%db的資料庫的所有表,但不復制 my1ownAABCdb資料庫的表,應這樣轉義『_』和『%』字元:--replicate-wild-do-table=my\_own\%db。如果在命令行中使用選項,可能需要雙反斜線或將選項值引起來,取決於命令解釋符。例如,用bash外殼則需要輸入--replicate-wild-do- table=my\\_own\\%db。

· --replicate-wild-ignore-table=db_name.tbl_name

告訴從伺服器線程不要復製表匹配給出的通配符模式的語句。要想忽略多個表,應多次使用該選項,每個表使用一次。該選項可以跨資料庫進行更新。請讀取該選項後面的注意事項。

例如:--replicate-wild-ignore-table=foo%.bar%不復制資料庫名以foo開始和表名以bar開始的表的更新。

關於匹配如何工作的信息,參見--replicate-wild-do-table選項的描述。在選項值中包括通配符的規則與--replicate-wild-ignore-table相同。

· --replicate-rewrite-db=from_name->to_name

告訴從伺服器如果默認資料庫(由USE所選擇)為主伺服器上的from_name,則翻譯為to_name。隻影響含有表的語句(不是類似CREATE DATABASE、DROP DATABASE和ALTER DATABASE的語句),並且只有from_name為主伺服器上的默認資料庫時。該選項不可以跨資料庫進行更新。請注意在測試--replicate -*規則之前翻譯資料庫名。

如果在命令行中使用該選項, 『>』字元專用於命令解釋符,應將選項值引起來。例如:

shell> mysqld --replicate-rewrite-db="olddb->newdb"
· --replicate-same-server-id

將用於從伺服器上。通常可以默認設置為0以防止循環復制中的無限循環。如果設置為1,該從伺服器不跳過有自己的伺服器id的事件;通常只在有很少配置的情況下有用。如果使用--logs-slave-updates不能設置為1。請注意默認情況下如果有從伺服器的id,伺服器I/O線程不將二進制日誌事件寫入中繼日誌(該優化可以幫助節省硬碟的使用)。因此如果想要使用--replicate-same-server-id,讓從伺服器讀取自己的SQL線程執行的事件前,一定要用該選項啟動。

· --report-host=slave_name

從伺服器注 冊過程中報告給主伺服器的主機名或IP地址。該值出現在主伺服器上SHOW SLAVE HOSTS的輸出中。如果不想讓從伺服器自己在主伺服器上注冊,則不設置該值。請注意從伺服器連接後,主伺服器僅僅從TCP/IP套接字讀取從伺服器的 IP號是不夠的。由於 NAT和其它路由問題,IP可能不合法,不能從主伺服器或其它主機連接從伺服器。

· --report-port=slave_port

連接從伺服器的TCP/IP埠號,從伺服器注冊過程中報告給主伺服器。只有從伺服器幀聽非默認埠或如果有一個特殊隧道供主伺服器或其它客戶連接從伺服器時才設置它。如果你不確定,不設置該選項。

· --skip-slave-start

告訴從伺服器當伺服器啟動時不啟動從伺服器線程。使用START SLAVE語句在以後啟動線程。

· --slave_compressed_protocol={0|1}

如果該選項設置為 1,如果從伺服器和主伺服器均支持,使用壓縮從伺服器/主伺服器協議。

· --slave-load-tmpdir=file_name

從 伺服器創建臨時文件的目錄名。該選項默認等於tmpdir系統變數的值。當從伺服器SQL線程復制LOAD DATA INFILE語句時,從中繼日誌將待裝載的文件提取到臨時文件,然後將這些文件裝入到表中。如果裝載到主伺服器上的文件很大,從伺服器上的臨時文件也很大。因此,建議使用該選項告訴從伺服器將臨時文件放到文件系統中有大量可用空間的目錄下。在這種情況下,也可以使用--relay-log選項將中繼日誌放到該文件系統中,因為中繼日誌也很大。--slave-load-tmpdir應指向基於硬碟的文件系統,而非基於內存的文件系統:從伺服器需要用臨時文件在機器重啟時用於復制LOAD DATA INFILE。系統啟動過程中操作系統也不能清除該目錄。

· --slave-net-timeout=seconds

放棄讀之前從主伺服器等候更多數據的秒數,考慮到連接中斷和嘗試重新連接。超時後立即開始第1次重試。由--master-connect-retry選項控制重試之間的間隔。

· --slave-skip-errors=[err_code1,err_code2,... | all]

通常情況,當出現錯誤時復制停止,這樣給你一個機會手動解決數據中的不一致性問題。該選項告訴從伺服器SQL線程當語句返回任何選項值中所列的錯誤時繼續復制。

如果你不能完全理解為什麼發生錯誤,則不要使用該選項。如果復制設置和客戶程序中沒有bug,並且MySQL自身也沒有bug,應不會發生停止復制的錯誤。濫用該選項會使從伺服器與主伺服器不能保存同步,並且你找不到原因。

對於錯誤代碼,你應使用從伺服器錯誤日誌中錯誤消息提供的編號和SHOW SLAVE STATUS的輸出。伺服器錯誤代碼列於附錄B:錯誤代碼和消息。

你也可以(但不應)使用不推薦的all值忽略所有錯誤消息,不考慮所發生的錯誤。無需而言,如果使用該值,我們不能保證數據的完整性。在這種情況下,如果從伺服器的數據與主伺服器上的不相近請不要抱怨(或編寫bug報告)。已經警告你了。

例如:

--slave-skip-errors=1062,1053
--slave-skip-errors=all
從伺服器按下面評估--replicate-*規則,確定是否執行或忽視語句:

1. 是否有--replicate-do-db或--replicate-ignore-db規則?

· 有:測試--binlog-do-db和--binlog-ignore-db(參見5.11.3節,「二進制日誌」)。測試結果是什麼?

o 忽視語句:忽視並退出。

o 許可語句:不立即執行語句。推遲決策;繼續下一步。

· 沒有:繼續下一步。

2. 我們目前正執行保存的程序或函數嗎?

· 是:執行查詢並退出。

· 否:繼續下一步。

3. 是否有--replicate-*-table規則?

· 沒有:執行查詢並退出。

· 有:繼續下一步並開始按所示順序評估表規則(首先是非通配規則,然後是通配規則)。只有待更新的表根據這些規則進行比較(INSERT INTO sales SELECT * FROM prices:只有sales根據這些規則進行比較)。如果要更新幾個表(多表語句),第1個匹配的表(匹配「do」或「ignore」)獲贏。也就是說,根據這些規則比較第1個表。然後,如果不能進行決策,根據這些規則比較第2個表等等。

4. 是否有--replicate-do-table規則?

· 有:表匹配嗎?

o 是:執行查詢並退出。

o 否:繼續下一步。

· 沒有:繼續下一步。

5. 是否有--replicate-ignore-table規則?

· 有:表匹配嗎?

o 是:忽視查詢並退出。

o 否:繼續下一步。

· 沒有:繼續下一步。

6. 是否有--replicate-wild-do-table規則?

· 有:表匹配嗎?

o 是:執行查詢並退出。

o 否:繼續下一步。

· 沒有:繼續下一步。

7. 是否有--replicate-wild-ignore-table規則?

· 有:表匹配嗎?

o 是:忽視查詢並退出。

o 否:繼續下一步。

· 沒有:繼續下一步。

8. 沒有匹配的--replicate-*-table規則。要根據這些規則測試其它表嗎?

· 是:執行循環。

· 否:我們現在已經測試了所有待更新的表,結果不能匹配任何規則。是否有--replicate-do-table或--replicate-wild-do-table規則?

o 有:有「do」規則但不匹配。忽視查詢並退出。

o 沒有:執行查詢並退出

❹ MySQL配置文件(my.cnf)路徑查看及相關配置

查找my.cnf文件路徑;

從上可以看出, 伺服器首先會讀取/etc/my.cnf文件,如果發現該文件不存在,再依次嘗試從後面的幾個路徑進行讀取。

參數詳解:

[client] #客戶端設置,即客戶端默認的連接參數
port = 3307 #默認連接埠
socket = /data/mysqldata/3307/mysql.sock #用於本地連接的socket套接字
default-character-set = utf8mb4#編碼

[mysqld] #服務端基本設置
port = 3307 MySQL監聽埠
socket = /data/mysqldata/3307/mysql.sock #為MySQL客戶端程序和伺服器之間的本地通訊指定一個套接字文件
pid-file = /data/mysqldata/3307/mysql.pid#pid文件所在目錄
basedir = /usr/local/mysql-5.7.11#使用該目錄作為根目錄(安裝目錄)
datadir = /data/mysqldata/3307/data#數據文件存放的目錄
tmpdir = /data/mysqldata/3307/tmp #MySQL存放臨時文件的目錄
character_set_server = utf8mb4 #服務端默認編碼(資料庫級別)
collation_server = utf8mb4_bin #服務端默認的比對規則,排序規則
user = mysql #MySQL啟動用戶

log_bin_trust_function_creators = 1 #This variable applies when binary logging is enabled. It controls whether stored function creators can be trusted not to create stored functions that will cause #unsafe events to be written to the binary log. If set to 0 (the default), users are not permitted to create or alter stored functions unless they have the SUPER #privilege in addition to the CREATE ROUTINE or ALTER ROUTINE privilege. 開啟了binlog後,必須設置這個值為1.主要是考慮binlog安全

performance_schema = 0 #性能優化的引擎,默認關閉

secure_auth = 1#secure_auth 為了防止低版本的MySQL客戶端(

❺ mysql的數據連接池怎麼配置文件

mysql的數據連接池怎麼配置文件
連接先建立一些連接,並且這些連接允許共享,因此這樣就節省了每次連接的時間開銷。Mysql資料庫為例,連接池在Tomcat中的配置與使用。
1、創建資料庫Student,表student
2、配置server.xml文件。Tomcat安裝目錄下conf中server.xml文件。
<GlobalNamingResources>
<Resource
name="jdbc/DBPool"
type="javax.sql.DataSource"
password=""
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/student"
maxActive="3"
/>
</GlobalNamingResources>
name:指定連接池的名稱
type:指定連接池的類,他負責連接池的事務處理
url:指定要連接的資料庫
driverClassName:指定連接資料庫使用的驅動程序
username:資料庫用戶名
password:資料庫密碼
maxWait:指定最大建立連接等待時間,如果超過此時間將接到異常
maxIdle:指定連接池中連接的最大空閑數
maxActive:指定連接池最大連接數
3、配置web.xml文件。
<web-app>
<resource-ref>
<description>mysql資料庫連接池配置</description>
<res-ref-name>jdbc/DBPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</web-app>
4、配置context.xml文件
與server.xml文件所在的位置相同。
<Context>
<ResourceLink
name="jdbc/DBPool"
type="javax.sql.DataSource"
global="jdbc/DBPool"
/>
</Context>
5、測試
DataSource pool = null;
Context env = null;
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try{
env = (Context)new InitialContext().lookup("java:comp/env");
//檢索指定的對象,返回此上下文的一個新實例
pool = (DataSource)env.lookup("jdbc/DBPool");
//獲得資料庫連接池
if(pool==null){out.printl("找不到指定的連接池!");}
con = pool.getConnection();
st = con.createStatement();
rs = st.executeQuery("select * from student");
}catch(Exception ex){out.printl(ne.toString());}

❻ 我的MYSQL是5.0版本的,運行總是會報錯,請問如何解決

1、可能是/opt/mysql-master/data/數據目錄mysql用戶沒有許可權(修改數據目錄的許可權)

解決方法 :給予許可權,執行 "chown -R mysql.mysql /opt/mysql-master/data" 然後重新啟動mysqld

2、可能進程里已經存在mysql進程

解決方法:用命令「ps -ef|grep mysqld」查看是否有mysqld進程,如果有使用「kill -9 進程號」殺死,然後重新啟動mysqld!

3、可能是第猜廳肆二次在機器上安裝mysql,有殘余數據影響了服務的啟動。

解決方法:去mysql的二進制日誌目錄看看,如果存在mysql-binlog.index,就趕快把它刪除掉吧

4、mysql在啟動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件穗轎查看在[mysqld]下有沒有指定數據目錄(datadir)。

解決方法:請在[mysqld]下設置這一行:datadir = /opt/mysql-master/data

5、skip-federated欄位問題

解決方法:檢查一下/etc/my.cnf文件中有沒有沒被注釋掉的skip-federated欄位,如果有就立即注釋掉吧。

6、錯誤日誌目錄不存在

解決方法:使用「chown」 「chmod」命令賦予mysql所有者及許可權

7、selinux惹的禍,如果是centos系統,默認會開啟selinux

解決方法:

先臨時改為警告模式:[root@www php]# setenforce 0然後打開/etc/sysconfig/selinux,把SELINUX=enforcing改為SELINUX=disabled

8、可以試著把mysql.cnf默認文件開啟,排查是不是配置文件的錯伏陸誤。

常見配置錯誤有:

查看配置文件/etc/my.cnf里有沒有innodb_buffer_pool_size這個參數

innodb_buffer_pool_size:主要作用是緩存innodb表的索引,數據,插入數據時的緩沖;

默認值:128M;專用mysql伺服器設置此值的大小: 系統內存的70%-80%最佳。如果你的系統內存不大,查看這個參數,把它的值設置小一點吧

溫馨提示:記得開啟mysql錯誤日誌,方便自己排錯。

vim /etc/my.cnf 各位可以根據自己的my.cnf文件編輯[mysql_safe]

log-error = /data/mysql-master/logs/error.log

❼ 如何指定 /etc/init.d/mysqld 所載入的配置文件

沒辦法直接修改mysqld 的linux 默認參數文件位置,你螞沖腔直接在mysqld 的判扮參數中用 --init-file=file_name
或者重新修改編譯mysql的C源文件。

或者在你的 /etc/init.d 不悶衫要直接放 mysqld ,面是放個腳本命令 mysql --init-file=file_name

❽ mysql的配置文件在哪

默認的mysql配置在 /etc/my.cnf ,這個配置默認用yum安裝的存放路徑。
如果你是自行用二進制安裝的mysql,可以自行存放路徑,但是建議是放在/etc 下面,有時候也可以新建個文件夾用於存放mysql的配置文件,比如/etc/mysql/mysql.cnf。
當然如果自定義存放路徑,請記得把配置文件裡面的參數修改到對應的路徑,比如 socket路徑等。

❾ Centos7查看Mysql配置文件

my.cnf 是mysql啟動時載入的配置文件,一般會放在mysql的安裝目錄中,用戶也可以放喊滲在其他目錄載入。

安裝mysql後,系統中會有多個 my.cnf 文件,有些是用於測試的。

安裝locate

命令

輸出

當我們需要修改配置文件時,需要找到mysql啟動時是載入了哪個 my.cnf 文件。

啟動mysql後,我們查看mysql的進程,看看是否有設置使用指定目錄的 my.cnf 文件,如果有則表示mysql啟動時是載入了這個配置文件。

命令

輸出

可以看到 /usr/local/Cellar/mysql/5.6.24/my.cnf 就是mysql啟動載入的鄭衡脊配置文件。

如果上面的命令沒有輸出,表示沒有設置使用指定目錄的 my.cnf 。

如果沒有設置使用指定目錄的 my.cnf ,mysql啟動時會讀取安裝目錄根目錄及默認目錄下的 my.cnf 文件。

查看mysql啟動時讀取配置文件的默認目錄

命令

輸出

這些就是mysql默認會搜尋 my.cnf 的目錄,順序排前的優先。

如果沒有設置使用指定目錄 my.cnf 文件及默認讀取目錄沒有 my.cnf 文件,表示mysql啟動時並沒有載入配置文件,而是使用默認配置。

需要修改配置,可以在mysql默認讀取的攔滑目錄中,創建一個 my.cnf 文件(例如: /etc/my.cnf ),把需要修改的配置內容寫入,重啟mysql後即可生效。

❿ 關於mysql配置文件my.ini

伺服器字元集 (character_set_server)
庫字元集 (character_set_database)
資料庫系統(character_system)
character_set_server: 伺服器版安裝時指定的默認字元集設定權。
character_set_database: 資料庫伺服器中某個庫使用的字元集設定,如果建庫時沒有指明,將使用伺服器安裝時指定的字元集設置。
character_system: 資料庫系統使用的字元集設定。

在創建一個表的時候,每個欄位只要不是binary,都會有一個字元集。如果不指定,那麼在SHOW CREATE TABLE的時候,它是不會顯示出來的。
建表時候,欄位字元集的選取方式如下:
* if 欄位指定的字元集
* else if 表指定的字元集
* else if @@character_set_database
* else @@character_set_server (如果沒有設定,這個值為latin1)

閱讀全文

與mysql指定配置文件相關的資料

熱點內容
山西大同哪裡學編程課 瀏覽:316
許可證與配置文件 瀏覽:140
華為怎麼連接電腦數據線 瀏覽:288
核實數據後如何回復 瀏覽:572
jsb標簽放不了數字嗎 瀏覽:146
虛擬內存的數據存放在哪裡 瀏覽:601
神王霸業如何掛機升級 瀏覽:706
ps能否打開raf文件 瀏覽:496
華為手機文件夾清理 瀏覽:849
電腦falsh教程 瀏覽:75
有哪些不要會員的電影app嗎 瀏覽:15
鋼鐵俠製造用什麼編程 瀏覽:12
國內哪個app可以查機票信息 瀏覽:865
哪個app可以定製自駕游 瀏覽:787
find查找文件夾 瀏覽:175
多點app在哪裡找會員碼 瀏覽:785
人類高質量男性作者用的什麼app 瀏覽:562
cad另存為dxf文件變大 瀏覽:269
excel文件快速分類 瀏覽:571
蘋果電腦鍵盤怎麼刪除表格中數據 瀏覽:926

友情鏈接