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

2011年7月26日

MySQL 設定密碼

首次安裝 MySQL 設定新密碼
# mysqladmin -u root password 新密碼

設定以後要更改密碼,指令為:
# mysqladmin -u root -p password 新密碼

2011年2月8日

將 MySQL 的 DB 輸出為外部 CSV 檔

SELECT * INTO OUTFILE '/tmp/result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM my_test_table;

2010年12月11日

MySQL 選出資料最後的十筆

select * from table order by 最好是異動的時間欄位 desc limit 10;

2009年10月9日

MySQL 相關指令彙整

備份相關
利用 select 指令備份資料庫的 table
CREATE TABLE 備份目的_table_name AS SELECT * FROM 備份來源_table_name;

利用 mysqldump 備份單一資料庫
mysqldump --lock-all-tables -u root -p 資料庫名稱 > /backup/example.sql

利用 mysqldump 備份全部的DB
mysqldump --lock-all-tables -u root -p --all-databases > /backup/alldb.sql

復原則是用 mysql 指令即可
mysql -u root -p 資料庫名稱 < /backup/example.sql

新增使用者
grant all privileges on *.* to taiwanwolf@localhost IDENTIFIED BY '123aaa';

P.S
1. .sql 檔案裡面會有 create table... 的敘述, 關於 CHARSET= 的部分要確定是要用 big5 or utf8
2. 備份跟復原都可再加上 -default-character-set=big5 or utf8
3. 登入 mysql 後可以使用 set names big5 or utf8 測試 select 出來的結果有沒有亂碼

2008年12月11日

[Java] 運用Eclipse與JDBC連接MySQL資料庫

用Eclipse寫Java程式,目前一切很正常

今天需要連接到MySQL,所以就小試了一下,程式碼如下

import java.sql.*;
public class dbconn {
public static void main(String[] args) {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://ipaddress:3306/dbname";
String user = "taiwanwolf";
String password = "mypassword";
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,user,password);
if (conn != null && !conn.isClosed()) {
System.out.println("test ok");
conn.close();
}
else {
System.out.println("fail");
}
}
catch (ClassNotFoundException e) {
System.out.println("can not found driver class");
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
}

}

---我是分隔線---

上面看起來很正常吧,結果按CTRL+F11,居然出現class not found的錯誤

想必是找不到JDBC的Class,google一下找到mysql 的JDBC Driver

下載點

點選Project -> properties
Java Build Path => Libraries -> Add External JARs
再選上面壓縮檔解開的Jar => mysql-connector-java-5.1.7-bin.jar

全部弄好之後居然出現另一個錯誤訊息
not allowed to connect to this MySQL serverConnection closed by foreign host

把 firewall 抽掉也不行,google了一下發現是MySQL預設是只接受localhost的連線

所以必須新增User並且指定可連線的IP,先用console登入, 然後用 grant 新增

一般新增語法
GRANT ALL ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

我是採用這個
grant SELECT,INSERT,UPDATE,DELETE,CREATE,DROP on dbname.* TO 'taiwanwolf'@'123.111.222.%' identified by 'mypass';

FLUSH PRIVILEGES;

再試一次,搞定!

P.S1: 上述的123.111.222.%是表示只允許此段IP網段連入

P.S 2: iptables 裡面開啟3306可被連線的語法為
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT