Recently in SQL Category

my.cnf

| | Comments (1)

參考 gslin 這篇「無論如何都應該修改的 MySQL 預設值
max_connect_errors=100
max_connections=1000
thread_cache_size=200
connect_timeout=20
skip-name-resolve
slave_net_timeout=30

max_connections 太小若連線數滿就會出現 Too many connections
show variables where Variable_name='max_connections'; 可以看目前的值
show status where Variable_name='Threads_cached'; 可以看目前的連線數

MySQL latin1 to UTF-8

| | Comments (0)

from MySQL Server A
mysqldump -uroot -p db_name | sed -e 's/CHARSET=latin1/CHARSET=utf8' -e 's/\\//' | iconv -cfbig5 -tutf8 > db_name.sql

to MySQL Server B
echo SET NAMES utf8; >> new_db_name.sql
cat db_name.sql >> new_db_name.sql
mysql -uroot -p < new_db_name.sql

若啟動 MySQL 時遇到上述訊息, 很可能是被 SELinux denied
egrep "denied.*mysqld" /var/log/audit/audit.log
若有結果, 就是被 SELinux denied

最簡單的做法是把 SELinux disable
echo 0 > /selinux/enforce
再編輯 /etc/selinux/config, SELINUX=disabled

若不想把 SELinux disable, 需把 allow rule 加入
> /var/log/audit/audit.log (先把 audit.log 清空)
/etc/init.d/mysql start (啟動 MySQL, 此時會有一些 log 存入 audit.log)
audit2allow -a -M mysqld (用 audit2allow 根據 audit.log 產生 rule, 並建立模組)
semodule -i mysqld.pp (載入 mysqld.pp 模組)
再啟動 MySQL, 若還是無法啟動, 再重複 audit2allow, semodule 的動作

ref. 小州的 SELinux 管理配置 (PDF) | Albert's SELinux 設定範例 | MacBlog3: 關於 SELinux

Get MySQL Field Comment

| | Comments (0)

show full fields from table_name
可以取得 MySQL 的欄位註解,
註解輸入中文名稱, 在寫程式時用上面的方式取得註解, 非常方便.
ref. 取得MySQL表單的註解

MySQL 原創者 Michael Widenius 在 Blog 貼了一篇 Oops, we did it again (MySQL 5.1 released as GA with crashing bugs)
列舉了一些 5.1.30 未修復的漏洞, 在尚未完整測試前, 不建議在線上系統使用 5.1.30
還是繼續用 5.0 GA 好了.

Export from MySQL to CSV

| | Comments (0)

Export from MySQL to CSV
這篇提到的轉 CSV 方法滿不錯的
方法一
mysql -uusername -ppassword dbname -B -e "select * from tablename`;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > filename.csv
方法二
SELECT * INTO OUTFILE '/tmp/filename.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM tablename;
此方法是存在 Server 那台機器

DbVisualizer

| | Comments (0)

DbVisualizer 是一套全方位的資料庫管理工具, 各種資料庫都支援.
會注意到這套主要是它有 for Linux 的版本, 用來在 Linux 下管理 MSSQL 還滿好用的.
DbVisualizer 是用 Java 寫的, 需 copy 中文字型到 $JAVA_HOME/jre/lib/fonts 中文才不會秀出方塊,
cd $JAVA_HOME/jre/lib/fonts
mkdir fallback
cp path/msjh.ttf fallback (複製微軟正黑體)
cd fallback
mkfontscale
mkfontdir
試用的 Free Edition 好像也沒什麼限制.

ref. Linux操作系统JDK中文字体设置方法介绍

MSSQL show table field name

| | Comments (0)

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'table_name'
相當於 MySQL 的 desc table_name

凱莉手工坊

凱莉手工坊

November 2009

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

About this Archive

This page is a archive of recent entries in the SQL category.

Software is the previous category.

Travel is the next category.

Find recent content on the main index or look in the archives to find all content.