1. 程式人生 > >MySQL Connection使用Hack方法回到沒有預設資料庫的狀態

MySQL Connection使用Hack方法回到沒有預設資料庫的狀態

       如果我們開啟一個MySQL Connection URL時不指定資料庫,那麼建立的Connection就沒有預設資料庫。在這種情況,要麼呼叫Connection例項的setCatalog()方法來設定資料庫,要麼在你的SQL中使用資料庫名稱來完整地指定表名。        那如果我們使用setCatalog()方法來設定資料庫,並完成我們的資料庫操作後,我們想還原現場,Connection依然想回到沒有預設資料庫的狀態應該怎麼辦。使用setCatalog(null), setCatalog("")或者USE ``都是不管用的。下面介紹一種Hack方法將Connection還原到沒有預設資料庫的狀態。
  1. 建立一個數據庫
stmt.execute("CREATE SCHEMA " + newDb);
  1. 將該資料庫設定為Connection的預設資料庫
stmt.execute("USE " + newDb);
  1. 刪除該資料庫
stmt.execute("DROPSCHEMA " + newDb);        這樣Connection就回到沒有預設資料庫狀態。但需要注意的是建立和刪除資料庫是有一定的開銷,而且由於MySQL DDL操作不支援事務,所以上面的操作不能保證原子性的。所以這個方法主要是在資料庫管理應用中使用。

相關推薦

MySQL Connection使用Hack方法回到沒有預設資料庫狀態

       如果我們開啟一個MySQL Connection URL時不指定資料庫,那麼建立的Connection就沒有預設資料庫。在這種情況,要麼呼叫Connection例項的setCatalog()方法來設定資料庫,要麼在你的SQL中使用資料庫名稱來完整地指定表名。

MySQL主從:slave status顯示connecting狀態解決方法

MySQL主從錯誤信息Slave_IO_Running: Connecting mysql> show slave status\G Slave_IO_Running: Connecting Slave_SQL_Running: Yes 此處一般是兩個yes才是正確,出現Slave_IO_Runnin

liunx上安裝MySQL沒有預設my.cnf檔案解決方案

官網說:從5.7.18開始不在二進位制包中提供my-default.cnf檔案。參考:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 經過測試,在5.7.18版本中,使用tar.gz安裝時,也就是壓縮包解壓出

mysql效能調優(一)——查詢資料庫狀態

所謂效能調優,首先要發現問題,才能知道怎麼進行效能調優噻,所以我們先從發現問題開始 1、show status  查詢資料庫狀態      其中監控伺服器狀態比較重要的幾個引數是: Queries 進行多少次查

MySql升級5.7方法以及Navicat連線資料庫報2049解決辦法

 今天需要升級mysql到5.8,就按照下面的方法來升級的,親測可行: 1:停止原來的MySQL服務,開啟工作管理員,找到mysqld的程序名,右鍵結束任務。 2:備份原來資料庫的檔案,在C:\ProgramData\MySQL 相應的版本目錄下面,有data目錄,將此目

Oracle PLSQL工具登陸介面:連線庫選項沒有本地資料庫名可選 解決方法

通過參考了網上教程,建立好了資料庫後,通過WINDOWS的命令視窗sqlplus工具對資料庫進行了建立賬號密碼和配置許可權。 但在使用PLSQL登陸時發現,在 資料庫 選項中,沒有建立的本地資料庫 解決步驟: 1. 找到建立好的資料庫路徑下的tnsnames.ora檔案,我的路徑是:C:

SQL SERVER 2005 資料庫狀態為“可疑”的解決方法(轉)

在被設定為“可疑”後很納悶,之前沒有遇到此類情況,問了幾個前輩依然未找到問題所在。最後還是解決了,現在給大家分享我的解決辦法:   首先,不能使得資料庫離線、分離等操作,在這種情況下,資料庫不能驚醒備份的。如果你真的使得資料庫離線,就再也沒有辦法解決了。我也幹過這件傻事,千萬不能重蹈覆轍哦。(切記!切記!

MySQL大資料量分頁查詢方法及其優化 ---方法1: 直接使用資料庫提供的SQL語句 ---語句樣式: MySQL中,可用如下方法: SELECT * FROM 表名稱 LIMIT M,N ---適

測試實驗 1.   直接用limit start, count分頁語句, 也是我程式中用的方法: select * from product limit start, count 當起始頁較小時,查詢沒有效能問題,我們分別看下從10, 100, 1000, 10000開始分頁的執行時間(每頁取20條), 如

Metabase開發環境下修改預設資料庫H2到MySQL

Metabase開發環境下修改預設資料庫H2到MySQL 說明 資料遷移 設定預設資料庫為MySQL 說明 若只是使用Metabase.jar,可參看該文章進行更改,本次記錄開發環境下的預設資料庫更換,參見上一篇文章中開發環境的搭建

MySQL高效處理大量併發的資料庫連線方法

單機單MySQL伺服器處理資料庫連線請求利用多執行緒機制,但正如任何處理方式一樣都會有它的功能瓶頸。單機單MySQL伺服器如何提高處理瞬時成千上萬的資料庫連線請求呢?首先,我們從MySQL伺服器的工作原理出發來思考問題。MySQL伺服器利用多執行緒機制來充分發揮對多使用者訪問

關於mysql四個預設資料庫

1、Master資料庫  Master資料庫記錄了Sqlserver所有的伺服器級系統資訊,所有的註冊帳戶和密碼,以及所有的系統設定資訊,還記錄了所有使用者定義資料庫的儲存位置和初始化資訊。  2、Tempdb資料庫  Tempdb記錄了所有的臨時表、臨時資料和臨時建立的儲

排憂解難之Win10開機彈出“沒有預設的郵件客戶端,或者...”的解決方法

Win10開機彈出“沒有預設的郵件客戶端,或者當前的郵件客戶端無法實現…”的解決方法 最近剛剛安裝了Office2016 Word+Powerpoint+Excel軟體,不過這個Office 2016的映象有點詭異,如果直接安裝的話會把所有元件都裝上,根本

oozie更改預設資料庫mysql

1、在mysql中設定訪問許可權 CREATE database oozie DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT A

Oracle資料庫遷移MySQL——instr()方法

Oracle中使用instr方法確定某個字元的位置,前提字元出現頻率為2或者3使用case when then 判斷,並使用instr方法確定最後字元出現位置,使用substr切割 case instr('字串','/',1,3)

mysql-5.6.23設定預設編碼為utf8方法

mysql沒有配置檔案也可以啟動,你可以把my-default.ini改名為my.ini,然後放到mysql安裝根目錄,在[mysqld]下加上character-set-server=utf8, 在[client]下加default-character-set=utf8。

關於url傳遞mysql返回方法的舉例

iwebshop結和php一點知識開發中遇到一個頁面的店鋪,需要按照 《銷售排行 VIP排行 全部店鋪》這樣進行篩選,其實不用js和jq這些方法就可以簡單的實現點那個出現相對應的店鋪信息!可以通過後臺方法傳遞參數給前端頁面,在前端頁面url裏執行變量設置!後臺方法:public function getSel

MySQL 安裝方法

mysql 安裝方法本博文主要是為了增加記憶同時促進大家共同學習,如在發現中有理解錯誤請幫忙留言改正,不勝感激。 本次主要是mysql-5.5.54 的安裝基礎環境為: centos 6.8 一、下載mysql-5.5.54 安裝包 創建軟件存放目錄

CentOS7安裝MySQL方法之RPM包方式

centos7 mysql原帖地址: http://hostmaoo.com/frontend/help/help_details/id/35不是轉載,主機貓就是我的網站。 其實是想看看推廣效果。嘿嘿。本文出自 “將所學所想記錄下來” 博客,請務必保留此出處http://351660060.blog.51ct

android 通過bitmapfactory得到圖片真實像素的方法,以及沒有得到真實像素的原因

hdp hive eight bit font style 大小 () ica 原文來自:原文地址 由於這個錯誤導致浪費非常長時間找原因,所以要趕緊記錄下來。 過程是這種,在使用android讀取圖片的時候,就是使用BitmapFactory.dec

如何為CAD設置連續的尺寸?你找到設置的正確方法沒有

在繪制CAD的時候,經常需要連續的標註尺寸。那麽,如果想要連續的標註尺寸我們可以使用到什麽軟件呢,又該怎麽操作呢?連續標註尺寸可以為我們的圖紙帶來不一樣的東西,下面來看看標註尺寸的方法。 1.運行電腦上的迅捷CAD編輯器,打開軟件之後,點擊界面的“文件”選項,然後再點擊“打開”