1. 程式人生 > >啟動dbforge studio for mysql的除錯功能

啟動dbforge studio for mysql的除錯功能


1、安裝dbforge studio for mysql
2、使用dbforge studio for mysql,並以root身份連線資料庫後編寫一個儲存過程
3、右擊儲存過程選擇Debug,然後選擇Step Into
4、打斷點就可以除錯了
5、除錯完畢的儲存過程,在其它工具中添加了很多除錯用的語句資訊,所以在除錯完成後再次右擊儲存過程,然後Debug,並選擇Compile或直接按Ctrl+F7
6、這時候可以看到資料庫多了一個cr_debug庫
7、給對應需要除錯的資料庫的使用者授予cr_debug庫的所有許可權和mysql庫的select許可權,當這種處理完畢後就可以正常使用dbforge studio for mysql的除錯功能了

=================================================================
參考文章:
昨天同事讓幫忙在mysql的資料庫裡建立一個procedure 並給他用的賬號reader debug 儲存過程的許可權。
通過查詢相應的資料,並結合mysql.user裡面的資訊,發現mysql的procedure的許可權功能還是挺弱的,
看到有create routine ,alter routine ,execute 這三個許可權,沒有什麼debug的許可權。
於是我就先把這三個許可權給了reader這個使用者,但是結果是可想而知的,建立的procedure是不能夠debug的。
後來查找了大量的資料,並通過自己的摸索,成功的解決了這個問題。在百度裡相關的資料比較少,所以記錄下來希望能幫助到遇到此類問題的朋友們。
1. 同事用的toad for mysql 7.1 這個工具是帶有debug的功能的,但是在debug時提示如下
mysql database error: access denied for user reader to database questdebug;
剛開始我不明白這是什麼意思,因為我的mysql裡沒有questdebug這個庫,於是我百度,但是沒有結果,於是我換了一個工具:dbforge studio for mysql(一下簡稱dbforge) 版本我忘記了 ,我是從官網下載的最新版本然後安裝做的測試。
2.用dbforge 這個工具 也是不能debug ,但是這個工具報的錯誤是和toad不一樣的。
大致的錯誤資訊應該是 access denied for user reader to database cr_debug;
我還是不清楚是怎麼個情況,於是我用自己管理員的賬號做個個測試,發現是可以debug的。兩個使用者的許可權是不一樣的。
這個時候我發現mysql裡多了一個cr_debug的庫,於是我把cr_debug庫的all privileges 給了reader這個使用者,然後用dbforge compile for debugging ,居然是成功了。 這時候我感覺 可能是連線工具在對mysql debug時會建立一個庫,記錄debug的資訊。所以需要使用者對這個庫有許可權。
3. 能夠編譯debug只是個開始,還需要逐行debug ,這個對procedure 編寫除錯用處非常大。
但是在做step into(逐行除錯)的時候 又有了新的錯誤:
can't start debug.Probably,you do not have enough privileges to get object metadata.
這個錯誤 我從百度上找不到答案,針對object metadata 我做了些分析。在mysql中 information_schema 存放的是元資料。裡面放的表(檢視)
記錄著mysql的相關資訊。 但是這個庫預設對使用者是有select的許可權的。難道是缺其它的許可權,於是我想把all privileges的許可權給reader ,但是發現報錯,提示沒有許可權。 這個該怎麼解決呢。於是查了些資料,對比了下我自己的使用者和reader使用者,發現可能問題出現在mysql的一個預設的庫mysql庫,這個庫是mysql的核心資料庫。這個庫記錄著mysql自己的控制和管理資訊,也算是元資料吧。於是我把 select on mysql.* 的許可權給了reader使用者。這次大功告成。
4.接下來又遇到一個小問題,就是binlog_format=statement  然後debug的時候有資料需要row-based logging  否則不能寫入binlog。這個問題就比較好解決了,
set global binlog_format=mixed 這樣就解決了
5 總結:mysql的對debug的控制,是根據某些特定的庫來實現許可權的構成。使用的工具不同也許遇到的問題也會不同。 

相關推薦

啟動dbforge studio for mysql除錯功能

1、安裝dbforge studio for mysql 2、使用dbforge studio for mysql,並以root身份連線資料庫後編寫一個儲存過程 3、右擊儲存過程選擇Debug,然後選擇Step Into 4、打斷點就可以除錯了 5、除錯完畢的儲存過程,在其

[轉]MySQL儲存過程除錯工具(dbForge Studio for MySQL工具)

對於某些儲存過程很多且複雜的SQL的應用,在短時間內要使得所有MySQL儲存過程和函式正常執行,那麼如果能找到一個比較好的除錯工具,就可以事半功倍, 這裡介紹的是dbForge Studio for MySQL。 1. 首先說明dbForge Studio for MySQL具有儲存過程除錯功能的

MySQL儲存過程除錯工具-dbForge Studio for MySQL

對於某些儲存過程很多且複雜的SQL的應用,在短時間內要使得所有MySQL儲存過程和函式正常執行,那麼如果能找到一個比較好的除錯工具,就可以事半功倍, 這裡介紹的是dbForge Studio for MySQL。 1. 首先說明dbForge Studio for MySQ

伺服器宕機,mysql無法啟動,job for mysql.service failed because the process exited with error code,資料庫備份與恢復

[問題現象] 伺服器在執行過程中,因人為意外導致電源被拔,伺服器宕機,mysql重啟不成功,報錯如下 根據提示,輸入systemctl status mysql.service和journalctl -xe檢視日誌,經過一番百度谷歌折騰也是無果。(很多時候,不能因為突發事件就“病急亂投醫”) &nb

spyder for python除錯功能

前言 很多人開始寫程式碼不會考慮到用Debug,就像新手不會用git管理專案一樣 但是當你開始接觸、使用這些功能之後,你會發現以前走的很多錯路都可以避免,但是該趟的坑還是需要躺的 接下來我簡要介紹一下Spyder編輯器下進行python程式碼除錯 Debug

navicat for mysql常用功能

文章目錄 1. 美化SQL 2. 全域性搜尋值 3. 資料結構同步 4. 匯入和匯出資料庫檔案 5. 管理使用者許可權 6. 檢視歷史查詢 7. 檢視DDL語句

dbForge Studio for SQL Server入門教程:如何連線到資料庫

在連線到資料庫之前,必須建立伺服器連線。 建立連線: 1. 在“ 開始” 頁面上,單擊“ SQL開發” ,然後單擊“ 新建連線” 按鈕。將開啟“ 資料庫連線屬性” 對話方塊。 2. 在“ 伺服器” 組合框中,單擊“ <瀏覽...>” 。將開啟“ 瀏覽伺服

Navicat for mysql常用功能講解

一、navicat如何寫sql語句查詢: 方法一:ctrl+q會彈出一個sql輸入視窗,ctr+r就可以執行 方法二:按F6會彈出一個命令視窗,就跟mysql -u root -p進去時操作一樣 二、

Xampp + Zend Studio 開啟Xdebug除錯功能

一步:配置Xdebug環境 開啟Xampp安裝目錄的php\php.ini配置檔案找到[XDebug]項,開啟以下配置 ;擴充套件dll引用路徑(安裝好Xampp後php\ext目錄下就已有了php_

DbForge Studio for Oracle入門教程:如何在查詢生成器中建立查詢

我們將使用視覺化設計器建立一個示例查詢。讓我們重複一下我們在如何建立和編輯查詢主題中建立的示例。我們將使用HR資料庫並顯示儲存在HR資料庫中的所有員工,這些員工在部門ID號為50的Shipping部門工作。 要以可視方式建立查詢: 1.建立伺服器連線。有關如何建立伺服

DbForge Studio for SQL Server入門教程:如何編輯資料

當dbForge Studio執行任何返回結果集的語句時,檢索到的資料將顯示在同一SQL文件或資料視窗的資料檢視的資料編輯器中。 編輯資料 1.在SQL文件,物件檢視器的“資料”檢視中的“ 資料編輯器”中,或在“ 資料” 視窗中,單擊要編輯的單元格。 2.編輯完成後

DbForge Studio for SQL Server入門教程:在查詢生成器中建立查詢

我們將使用視覺化查詢設計器建立一個示例查詢。我們將使用AdventureWorks2012資料庫。假設我們需要顯示上一年度總銷售額超過2 000 000的所有員工。 以可視方式建立查詢: 1.建立伺服器連線。有關如何建立伺服器連線的詳細資訊,請參閱:如何連線到資料庫。

Navicat for MySQL用ssh功能連接遠程數據庫

net window blog src windows borde 點擊 文章 遠程 轉載自:http://holy2010.blog.51cto.com/1086044/518431 實現用本地的ssh隧道起到加密功能 在windows平臺上運行Navicat for

ali yun RDS for MySQL的基本功能

jaali yun RDS for MySQL的基本功能創建實例 包年包月: 按量付費: 選擇地域:非常重要 數據類型:Mysql/SQlserver/PostgreSQL/PPAS 版本:非常重要 基礎版|高可用版 存儲類型:本地SSD 可用區:可用區A,可用區AB,多可用區1 網絡類型:專

mysql啟動失敗--Job for mysqld.service failed because the control process exited

1.centos7啟動報錯 Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl s

DbForge Schema Compare for MySQL入門教程:安裝指南

接下來將說明如何開始比較MS SSMS中的資料庫。 操作步驟: 1.在物件資源管理器中,右鍵單擊資料庫,指向“資料比較”,然後單擊“設定為源”或“設定為目標”。 2.根據您在上一步中的選擇,將源資料庫或目標資料庫從物件資源管理器拖動到dbForge Data Com

dbForge Schema Compare for MySQL入門教程:預覽架構同步指令碼和同步架構

在分析比較結果時,您可以選擇任何物件並預覽它的同步指令碼,該指令碼將由Devart dbForge Schema Compare for MySQL生成。此選項非常方便,因為您可以檢查指令碼並確保在其後獲得正確的同步和所需的結果。 要預覽同步指令碼: 在網格中選擇所需

DbForge Schema Compare for MySQL入門教程:如何連線到資料庫

要建立連線: 1. 在“Connection” 工具欄上單擊“New Connection”按鈕 。 2. 在“Host” 框中輸入主機名。 3. 在“Port” 框中輸入埠資訊。預設埠號為3306。 4. 在“User” 和“Password” 欄位中輸入登入憑

DbForge Schema Compare for MySQL入門教程:生成比較報告

當架構比較完成後,您可以生成比較報告以保留架構更改的記錄。 1. 在“Comparison” 選單中,單擊“Generate Comparison Report” 。將開啟“Generate Comparison Report” 對話方塊。 2. 選擇要報告的報告格式

DbForge Schema Compare for MySQL入門教程:比較物件的DDL

1. 在“Tools” 選單中,單擊“Options” 。 2. 單擊“Schema Comparison” 並選擇“General” 。 您可以選擇以下文字比較器之一: Internal- 預設選中它。 Araxis Merge - 在選擇此選項之前,請檢查