MySql連接數(shù)據(jù)庫常用參數(shù)及代碼解讀
更新時間:2023年02月16日 10:26:59 作者:weiqiangGG
這篇文章主要介紹了MySql連接數(shù)據(jù)庫常用參數(shù)及代碼解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
MySql連接數(shù)據(jù)庫常用參數(shù)及代碼
常用參數(shù)
| 參數(shù)名稱 | 參數(shù)說明 | 缺省值 | 最低版本要求 |
|---|---|---|---|
| user | 數(shù)據(jù)庫用戶名(用于連接數(shù)據(jù)庫) | ||
| password | 用戶密碼(用于連接數(shù)據(jù)庫) | ||
| useUnicode | 是否使用Unicode字符集,如果參數(shù)characterEncoding設置為gb2312或gbk,本參數(shù)值必須設置為true | false | 1.1g |
| characterEncoding | 當useUnicode設置為true時,指定字符編碼。比如可設置為gb2312或gbk | false | 1.1g |
| autoReconnect | 當數(shù)據(jù)庫連接異常中斷時,是否自動重新連接? | false | 1.1 |
| autoReconnectForPools | 是否使用針對數(shù)據(jù)庫連接池的重連策略 | false | 3.1.3 |
| failOverReadOnly | 自動重連成功后,連接是否設置為只讀? | true | 3.0.12 |
| maxReconnects | autoReconnect設置為true時,重試連接的次數(shù) | 3 | 1.1 |
| initialTimeout | autoReconnect設置為true時,兩次重連之間的時間間隔,單位:秒 | 2 | 1.1 |
| connectTimeout | 和數(shù)據(jù)庫服務器建立socket連接時的超時,單位:毫秒。 0表示永不超時,適用于JDK 1.4及更高版本 | 0 | 3.0.1 |
| socketTimeout | socket操作(讀寫)超時,單位:毫秒。 0表示永不超時 | 0 | 3.0.1 |
| allowMultiQueries | mysql驅動開啟批量執(zhí)行sql的開關 | false |
數(shù)據(jù)庫工具類
package util;
import java.sql.Connection;
import java.sql.DriverManager;
/**
?* 數(shù)據(jù)庫工具類
?* @author Administrator
?*
?*/
public class DbUtil {
?? ?private String dbUrl="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true";
?? ?private String dbUserName="root";
?? ?private String dbPassword="passwd";
?? ?private String jdbcName="com.mysql.jdbc.Driver";
?? ?
?? ?/**
?? ? * 獲取數(shù)據(jù)庫連接
?? ? * @return
?? ? * @throws Exception
?? ? */
?? ?public Connection getCon() throws Exception{
?? ??? ?Class.forName(jdbcName);
?? ??? ?Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
?? ??? ?return con;
?? ?}
?? ?
?? ?/**
?? ? * 關閉數(shù)據(jù)庫連接
?? ? * @param con
?? ? * @throws Exception
?? ? */
?? ?public void closeCon(Connection con) throws Exception{
?? ??? ?if(con!=null){
?? ??? ??? ?con.close();
?? ??? ?}
?? ?}
?? ?
?? ?public static void main(String[] args) {
?? ??? ?DbUtil dbUtil=new DbUtil();
?? ??? ?try {
?? ??? ??? ?dbUtil.getCon();
?? ??? ??? ?System.out.println("數(shù)據(jù)庫連接成功");
?? ??? ?} catch (Exception e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?}
?? ?}
}調用該工具類時
?? ?Connection con=null;
?? ?try{
?? ??? ??? ?con=dbUtil.getCon();
?? ??? ??? ?(數(shù)據(jù)庫操作語句)
?? ??? ?}catch(Exception e){
?? ??? ??? ?e.printStackTrace();
?? ??? ?}finally{
?? ??? ??? ?try {
?? ??? ??? ??? ?dbUtil.closeCon(con);
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}MySql常用參數(shù)
| 參數(shù)名稱 | 參數(shù)說明 | 參考 |
| max_connections | 數(shù)據(jù)庫的最大連接數(shù) | MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables |
| wait_timeout | 非交互模式的沒有操作后的超時秒數(shù),超時后數(shù)據(jù)庫會關閉該連接。 | MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables |
| interactive_timeout | 交互模式下的沒有操作后的超時時間,一般與wait_timeout的值一致 | MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables |
| max_prepared_stmt_count | 限制一個session內最多可以有多少條預編譯語句 | MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables |
| innodb_lock_wait_timeout | 等待數(shù)據(jù)鎖的超時時間默認50s,超時則回滾當前事務,可以設置適當?shù)臅r長作為避免死鎖的一種措施 | MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variables |
| max_allowed_packet | 服務器和客戶之間單次通信的大小上限,會限制Server接受的數(shù)據(jù)包大小。 | MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables |
| slow_query_log | 是否開啟慢日志 0關閉, 1開啟 | MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables |
| long_query_time | 如果開啟了慢日志,則sql查詢時間超過該值就記錄到慢日志 | MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables |
| innodb_flush_log_at_trx_commit | 控制提交操作的嚴格ACID合規(guī)性與在批量重新安排和完成提交相關I/O操作時可能實現(xiàn)的更高性能之間的平衡。 完全符合ACID要求需要默認設置1。日志在每次事務提交時寫入并刷新到磁盤。 設置為0時,日志每秒寫入并刷新到磁盤一次。未刷新日志的事務可能會在崩潰中丟失。 設置為2時,日志在每次事務提交后寫入,并每秒刷新一次到磁盤。未刷新日志的事務可能會在崩潰中丟失。 | MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variables |
| sync_binlog | 控制MySQL服務器將二進制日志同步到磁盤的頻率。 sync_binlog=0:禁用MySQL服務器將二進制日志同步到磁盤。 sync_binlog=1:啟用在提交事務之前將二進制日志同步到磁盤。 sync_binlog=其他數(shù)字,表示在收集N個二進制日志提交組后,二進制日志將同步到磁盤。 | MySQL :: MySQL 8.0 Reference Manual :: 17.1.6.4 Binary Logging Options and Variables |
| innodb_buffer_pool_instances | InnoDB緩沖池劃分的區(qū)域數(shù)。僅在緩沖區(qū)大于1G時生效,默認為8 | MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variables |
| innodb_buffer_pool_chunk_size | 緩沖池的塊大小(字節(jié))默認128M | MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variables |
| innodb_buffer_pool_size | 緩沖池的大?。ㄗ止?jié)),InnoDB緩存表和索引數(shù)據(jù)的內存區(qū)域。緩沖池大小必須始終等于或是innodb_Buffer_pool_chunk_size*innodb_buffer_pool_instances的倍數(shù) | MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variables |
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
mysql.help_topic生成序列的方法實現(xiàn)
本文探討了如何使用MySQL的help_topic表生成序列,并介紹了相應的SQL查詢語句和實現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下2023-10-10
解決mysql @@sql_mode問題---only_full_group_by
這篇文章主要介紹了解決mysql @@sql_mode問題---only_full_group_by,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-09-09
MySQL數(shù)據(jù)庫復合查詢操作實戰(zhàn)
mysql表的查詢都是對一張表進行查詢,在實際開發(fā)中這遠遠不夠,下面這篇文章主要給大家介紹了關于MySQL數(shù)據(jù)庫復合查詢的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-05-05
淺談MySQL查詢出的值為NULL和N/A和空值的區(qū)別
本文主要介紹了淺談MySQL查詢出的值為NULL和N/A和空值的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01
MySQL實現(xiàn)數(shù)據(jù)更新的示例詳解
這篇文章主要為大家詳細介紹了MySQL實現(xiàn)數(shù)據(jù)更新的相關資料,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02

