2012年1月28日 星期六
2011年11月16日 星期三
mysql 基本指令用法
mysql -u root -p mysql -h 1.2.3.4 -u username -p ****** (輸入密碼)
如果架在 amazon ec2 上連不到, 請參考:
http://stackoverflow.com/questions/9766014/connect-to-mysql-on-amazon-ec2-from-a-remote-server
很有可能是 Amazon Security Group 的設定沒設好 mysql rule (3306 port)
顯示目前所有的 database name
SHOW DATABASES;
建立一個 database
CREATE DATABASE my_db;
刪除一個 database
drop database my_db;
使用 my_db 這個 database
use my_db;
在 database 建立 tb_1 這個 table (id 和 time 會由 mysql 自動產生)
CREATE TABLE IF NOT EXISTS tb_1(id INT PRIMARY KEY AUTO_INCREMENT, time TIMESTAMP, name VARCHAR(4));
列出 table
show tables;
刪除 tb_1 這個 table
drop table tb_1;
刪除某一列的資料
delete from table_name where file_name='avalue';
ref: http://www.cnblogs.com/Arlen/archive/2008/01/25/1053247.html
mysql sql 修改表名 建立外键 修改列名 删除列
--重命名表
rename table t_softwareport to software_port;
--建立外键
alter table software_port add constraint fk_software_port_softwareprocessid foreign key (softwareprocessid) references software_process (id) on delete restrict on update restrict;
--删除列
alter table software_type drop column upid, drop column orderid;
--修改列名
alter table software_process change software_id softwareid int(11) not null;
ref:
標籤:
mysql
2011年8月24日 星期三
MySQL 設定 UTF-8 處理中文資料
為了搞定中文, 用 utf8 來存資料是最保險的了。
http://www.csie.mcu.edu.tw/~skyman/docs/utf8_in_mysql.php
編輯 /etc/my.cnf,請在 "[mysqld]" 字樣的下一行加入下面設定!!
default-character-set=utf8
init_connect='SET NAMES utf8'
http://hi.baidu.com/qhh_2008/blog/item/c3bb9942fd2e820973f05dca.html
修改/etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf
在my.cnf文件中的[client]段和 [mysqld]段加上以下两行内容:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
我只有設定, 其他的部份都沒設定。(in ubuntu 11.04)
[mysqld]
default-character-set=utf8
而 mysql client 程式能不能顯示 utf8 中文, 那是另外一件事。
看到下面的 table, 也猜到編碼相關問題了。
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql>
中文處理很麻煩, 簡單來說, server 端用 utf8 處理中文, client 自然也要用 utf8 處理, 中文資料才能正常顯示, 像上述 table 列的
character_set_client | latin1
自然 client 會以 latin1 顯示中文資料, 中文當然會變成亂碼。
mysql 的 client console
打上
http://www.csie.mcu.edu.tw/~skyman/docs/utf8_in_mysql.php
編輯 /etc/my.cnf,請在 "[mysqld]" 字樣的下一行加入下面設定!!
default-character-set=utf8
init_connect='SET NAMES utf8'
http://hi.baidu.com/qhh_2008/blog/item/c3bb9942fd2e820973f05dca.html
修改/etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf
在my.cnf文件中的[client]段和 [mysqld]段加上以下两行内容:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
我只有設定, 其他的部份都沒設定。(in ubuntu 11.04)
[mysqld]
default-character-set=utf8
而 mysql client 程式能不能顯示 utf8 中文, 那是另外一件事。
看到下面的 table, 也猜到編碼相關問題了。
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql>
中文處理很麻煩, 簡單來說, server 端用 utf8 處理中文, client 自然也要用 utf8 處理, 中文資料才能正常顯示, 像上述 table 列的
character_set_client | latin1
自然 client 會以 latin1 顯示中文資料, 中文當然會變成亂碼。
mysql 的 client console
打上
SET NAMES utf8;
就可以看到中文, 當然該終端機也要能顯示 utf8 中文的能力 (別擔心, 只要你的口味不是太獨特, 應該都沒問題, 若你是另有品味的人士, 相信這問題也難不倒你)。
就可以看到中文, 當然該終端機也要能顯示 utf8 中文的能力 (別擔心, 只要你的口味不是太獨特, 應該都沒問題, 若你是另有品味的人士, 相信這問題也難不倒你)。
2011年8月22日 星期一
build database drvier (mysql/postgresql) plugin in linux environment - qt4
mysql
If got odbc error message:
這不一定是 odbc 出問題, 在我的系統上是 db2 出了問題, 也會產生這 message, 加上 -v 就清楚了, -v 會列出更多的訊息,可以用來判斷是哪裡出問題。不過 windows 版本似乎要到開始 compile 才會發生問題, 而不是在 configure 階段就秀出問題。
我最後的 command:
所以 db2 沒辦法通過 configure 測試是很正常的, 我的系統根本沒有安裝 db2 開發工具, 怎麼有辦法編譯出 db2 的 sql plugin。
odbc support 要安裝:
所以記得在編譯前先安裝好 mysql 開發相關檔案。
最簡單的方式是使用套件商幫我們 build 好的 binary:
輕鬆搞定。
不過身為程式開發人員, 把這些事情搞清楚是很重要的。
postgresql
postgresql 也是一樣的行為。
安裝 postgresql 開發套件:
root@ubuntu:/home/descent# apt-get install postgresql-8.4 postgresql-server-dev-8.4
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
./configure -plugin-sql-mysql -plugin-sql-db2 -plugin-sql-ibase -plugin-sql-mysql -plugin-sql-oci -plugin-sql-odbc -plugin-sql-psql -plugin-sql-sqlite -plugin-sql-sqlite2 -plugin-sql-sqlite_symbian -plugin-sql-tds -no-qt3support
If got odbc error message:
ODBC support cannot be enabled due to functionality tests!
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
這不一定是 odbc 出問題, 在我的系統上是 db2 出了問題, 也會產生這 message, 加上 -v 就清楚了, -v 會列出更多的訊息,可以用來判斷是哪裡出問題。不過 windows 版本似乎要到開始 compile 才會發生問題, 而不是在 configure 階段就秀出問題。
./configure -plugin-sql-mysql -plugin-sql-db2 -plugin-sql-ibase -plugin-sql-mysql -plugin-sql-oci -plugin-sql-odbc -plugin-sql-psql -plugin-sql-sqlite -plugin-sql-sqlite2 -plugin-sql-sqlite_symbian -plugin-sql-tds -no-qt3support -v
我最後的 command:
./configure -plugin-sql-mysql -plugin-sql-odbc -plugin-sql-sqlite -no-qt3support -v
所以 db2 沒辦法通過 configure 測試是很正常的, 我的系統根本沒有安裝 db2 開發工具, 怎麼有辦法編譯出 db2 的 sql plugin。
odbc support 要安裝:
apt-get install odbcinst odbcinst1debian2 unixodbc unixodbc-dev
所以記得在編譯前先安裝好 mysql 開發相關檔案。
apt-get install mysql-server-core-5.1 libmysqlclient-dev
最簡單的方式是使用套件商幫我們 build 好的 binary:
apt-get install libqt4-sql-odbc
輕鬆搞定。
不過身為程式開發人員, 把這些事情搞清楚是很重要的。
postgresql
postgresql 也是一樣的行為。
安裝 postgresql 開發套件:
root@ubuntu:/home/descent# apt-get install postgresql-8.4 postgresql-server-dev-8.4
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
comerr-dev krb5-multidev libgssrpc4 libkadm5clnt-mit7 libkadm5srv-mit7
libkdb5-4 libkrb5-dev libpq-dev libpq5 libssl-dev postgresql-client-8.4
postgresql-client-common postgresql-common
Suggested packages:
krb5-doc krb5-user postgresql-doc-8.4 oidentd ident-server
The following NEW packages will be installed:
comerr-dev krb5-multidev libgssrpc4 libkadm5clnt-mit7 libkadm5srv-mit7
libkdb5-4 libkrb5-dev libpq-dev libpq5 libssl-dev postgresql-8.4
postgresql-client-8.4 postgresql-client-common postgresql-common
postgresql-server-dev-8.4
標籤:
compile qt source code,
mysql,
qt
mysql only localhost - 開啟 mysql 遠端存取功能
要設定兩個地方:
in ubuntu
vi /etc/mysql/my.cnf
bind-address = 127.0.0.1
註解
bind-address = 127.0.0.1
變成
# bind-address = 127.0.0.1
再來設定使用者連線 (使用 mysql-admin GUI tool), User Administration 這功能似乎只能用 localhost 登入時才用使用, 所以先用 localhost (127.0.0.1) 登入, 再選取此功能。
User Administration: 新增新使用者或是將 root 加入 any host (在 root 的地方按右鍵)。
in ubuntu
vi /etc/mysql/my.cnf
bind-address = 127.0.0.1
註解
bind-address = 127.0.0.1
變成
# bind-address = 127.0.0.1
再來設定使用者連線 (使用 mysql-admin GUI tool), User Administration 這功能似乎只能用 localhost 登入時才用使用, 所以先用 localhost (127.0.0.1) 登入, 再選取此功能。
User Administration: 新增新使用者或是將 root 加入 any host (在 root 的地方按右鍵)。
訂閱:
文章 (Atom)