首次安裝 MySQL 設定新密碼
# mysqladmin -u root password 新密碼
設定以後要更改密碼,指令為:
# mysqladmin -u root -p password 新密碼
2011年7月26日
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;
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM my_test_table;
2010年12月11日
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 出來的結果有沒有亂碼
利用 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可被連線的語法為
今天需要連接到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
訂閱:
文章 (Atom)