文章詳情頁
MySql連接數據庫常用參數及代碼解讀
瀏覽:179日期:2023-02-18 16:43:59
目錄
- MySql連接數據庫常用參數及代碼
- 常用參數
- 數據庫工具類
- MySql常用參數
- 總結
MySql連接數據庫常用參數及代碼
常用參數
數據庫工具類
package util; import java.sql.Connection; import java.sql.DriverManager; /** ?* 數據庫工具類 ?* @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"; ?? ? ?? ?/** ?? ? * 獲取數據庫連接 ?? ? * @return ?? ? * @throws Exception ?? ? */ ?? ?public Connection getCon() throws Exception{ ?? ??? ?Class.forName(jdbcName); ?? ??? ?Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword); ?? ??? ?return con; ?? ?} ?? ? ?? ?/** ?? ? * 關閉數據庫連接 ?? ? * @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("數據庫連接成功"); ?? ??? ?} catch (Exception e) { ?? ??? ??? ?// TODO Auto-generated catch block ?? ??? ??? ?e.printStackTrace(); ?? ??? ?} ?? ?} }
調用該工具類時
?? ?Connection con=null; ?? ?try{ ?? ??? ??? ?con=dbUtil.getCon(); ?? ??? ??? ?(數據庫操作語句) ?? ??? ?}catch(Exception e){ ?? ??? ??? ?e.printStackTrace(); ?? ??? ?}finally{ ?? ??? ??? ?try { ?? ??? ??? ??? ?dbUtil.closeCon(con); ?? ??? ??? ?} catch (Exception e) { ?? ??? ??? ??? ?// TODO Auto-generated catch block ?? ??? ??? ??? ?e.printStackTrace(); ?? ??? ??? ?}
MySql常用參數
參數名稱參數說明參考max_connections數據庫的最大連接數MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variableswait_timeout非交互模式的沒有操作后的超時秒數,超時后數據庫會關閉該連接。MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variablesinteractive_timeout交互模式下的沒有操作后的超時時間,一般與wait_timeout的值一致MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variablesmax_prepared_stmt_count限制一個session內最多可以有多少條預編譯語句MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variablesinnodb_lock_wait_timeout等待數據鎖的超時時間默認50s,超時則回滾當前事務,可以設置適當的時長作為避免死鎖的一種措施MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variablesmax_allowed_packet服務器和客戶之間單次通信的大小上限,會限制Server接受的數據包大小。MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variablesslow_query_log是否開啟慢日志 0關閉, 1開啟MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variableslong_query_time如果開啟了慢日志,則sql查詢時間超過該值就記錄到慢日志MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variablesinnodb_flush_log_at_trx_commit控制提交操作的嚴格ACID合規性與在批量重新安排和完成提交相關I/O操作時可能實現的更高性能之間的平衡。完全符合ACID要求需要默認設置1。日志在每次事務提交時寫入并刷新到磁盤。
設置為0時,日志每秒寫入并刷新到磁盤一次。未刷新日志的事務可能會在崩潰中丟失。
設置為2時,日志在每次事務提交后寫入,并每秒刷新一次到磁盤。未刷新日志的事務可能會在崩潰中丟失。MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variablessync_binlog控制MySQL服務器將二進制日志同步到磁盤的頻率。
sync_binlog=0:禁用MySQL服務器將二進制日志同步到磁盤。
sync_binlog=1:啟用在提交事務之前將二進制日志同步到磁盤。
sync_binlog=其他數字,表示在收集N個二進制日志提交組后,二進制日志將同步到磁盤。MySQL :: MySQL 8.0 Reference Manual :: 17.1.6.4 Binary Logging Options and Variablesinnodb_buffer_pool_instancesInnoDB緩沖池劃分的區域數。僅在緩沖區大于1G時生效,默認為8MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variablesinnodb_buffer_pool_chunk_size緩沖池的塊大小(字節)默認128MMySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variablesinnodb_buffer_pool_size緩沖池的大小(字節),InnoDB緩存表和索引數據的內存區域。緩沖池大小必須始終等于或是innodb_Buffer_pool_chunk_size*innodb_buffer_pool_instances的倍數MySQL :: MySQL 8.0 Reference Manual :: 15.14 InnoDB Startup Options and System Variables
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。
標簽:
MySQL
相關文章:
排行榜