顯示具有 MySQL 標籤的文章。 顯示所有文章
顯示具有 MySQL 標籤的文章。 顯示所有文章

查詢 MySQL table size 語法

利用 python update 資料庫欄位,跳脫字元的方式 (escape string)

在 python 中,用 Mysqldb module 結果在 stackoverflow 一個討論串中有個很讚的做法:

What is the best escape character strategy for Python/MySQL combo?
  • row[1] 指的是 column name
  • row[3] 指的是要 insert 的 data
  • row[0] 指的是 where 條件式域比對的限制條件

比對一下原始的 sql 就很清楚了:
cursor2.execute("update myTable set `"+ str(row[1]) +"` = \"'" + str(row[3]) +"'\" where ID = '"+str(row[0])+"'")

python 在安裝 MysqlDB 時,出現找不到 mysql_config 的錯誤

使用 python 在操作 Mysql 時,會需要用到 MySQLdb 這個 library,如果你在安裝時,出現找不到 mysql_config 的錯誤,可能的原因是當初在安裝 Mysql 時,是使用 apt-get 的方法安裝,這樣就不會有 mysql_config 這個檔案。

解決的方式是安裝 dev 版本,分別執行下面的指令:

這樣就解決了。

Heroku Project 中,取得mysql(clearDB)的位置與帳號密碼

在 Heroku 中,如果你用 MySQL 作為專案的資料庫,可以用 heroku config 指令來查看目前專案的一些設定檔:


會有這樣的需求,是因為我想要用常用的 MySQL 管理工具(MySQL Workbench, MySQL Query Browser...etc)來管理我在 Heroku 上的資料庫。當你執行上述的指後,就可以看到該朱案的資料庫連線字串,其中上圖紅色的部分就是 MySQL DB 的位置,以我的專案來說,是放在 us-cdbr-east.cleardb.com 這裡。

至於 username 和 password ,可以在資料庫 Dashboard 裡面的  Endpoint information 中得知。



Tomcat 出現 JDBC Driver has been forcibly unregistered 錯誤

在deploy application的時候,偶爾會遇到 "SEVERE: A web application registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered." 這樣子的錯誤訊息。

查了一些資料後,發現在Tomcat 6.0.24之後增加了防止memory leak的feature,有幾個作法可以避免:

  • 忽略他
  • 使用6.0.23之前的版本
  • 將 JDBC Driver 的 library 放到 tomcat 下的 lib 目錄
  • 繼承 BasicDataSource,自己 close connection



【相關閱讀】
To prevent a memory leak, the JDBC Driver has been forcibly unregistered
Memory Leak Protection
MySQL create memory leak in Tomcat

執行MySQL出現ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)錯誤

代表MySQL服務沒有啟動,請依序執行:

  • mysqld --install 
  • net start mysql

MySQL Cluster 之 Data Nodes 與 Node Groups 之間的關係

在建立MySQL Cluster的時候,data node的數量和其所屬的node group是有相依關係的。從官方的文件中可以得到這樣的關係是

  • number of node groups = number of data nodes / NoOfReplicas

換句話說,你沒有辦法直接對node groups的數量進行設定,它取決於data nodes的數量和NoOfReplicas這兩個參數。

例如:

假設data nodes = 4

NoOfReplicas = 1 , node groups = 4
NoOfReplicas = 2 , node groups = 2
NoOfReplicas = 4 , node groups = 1

data nodes的數量最好是偶數,才能被平均分配到每個group當中。