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

2012年6月12日 星期二

設定MySQL允許外部伺服器連線


通常網頁要連到資料庫都是使用localhost
這樣只有網頁在伺服器內才可以連到資料庫
如果網頁是在別台伺服器上就要允許外連資料庫的權限
允許方式有很多種,這邊只介紹這個方式

修改Mysql的設定文件

#sudo vim /etc/mysql/my.conf
 找到 bind-address = 127.0.0.1
將這行設定註解掉就可以讓外部伺服器連入MySql

2012年1月6日 星期五

[MySQL]PDO中新增資料立刻抓取ID值

在MySQL中 欄位設定 AUTO_INCREMENT後內容直是自動產生
想要立刻抓到新增資料的ID值
使用lastInsertId()可以抓到最新的ID
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);

$stmt_artist = $dbh->prepare(
'INSERT INTO `table_artist` (artistName) VALUES (?)'
);

$stmt_year = $dbh->prepare(
'INSERT INTO `table_year` (albumYear) VALUES (?)'
);

$stmt_year->execute(array( $year ));
$year_id = $dbh->lastInsertId();

$stmt_link->execute(array( $artist_id, $album_id, $genre_id, $year_id ));

2011年8月31日 星期三

[MySQL]使用SHA加密

在讓使用者註冊時,資料庫通常是不可以直接紀錄使用者密碼的
所以必須對使用者密碼加密後在存如資料庫
因此我們使用SHA不可逆加密法來加密

INSERT INTO user (password) VALUES (SHA1($str));

他會將密碼固定轉為40位元16進位碼
所以只要將欄位大小限制40字元就可以了

詳細資料:Encryption and Compression Functions

2011年8月30日 星期二

[MySQL]在Ubuntu修改mysql的root密碼

當你忘記root密碼的時後就必須使這個方法修改密碼

1.進入mysql

$ sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf

2.使用mysql

mysql> use mysql

3.修改密碼

mysql> update user set password=password('abcdef') where user='root';

4.將權限紀錄更新

mysql> flush privileges;
mysql> quit



參考資料:UbuntuTW Guide ch14

2011年6月8日 星期三

[Mysql]資料庫中 存放檔案

每次有使用者樣上傳檔案時
都會將實體檔案上傳到伺服器
現在可以直接將檔案塞入資料庫中
不用再使用路經指向伺服器實體檔案

使用BIT存放檔案















使用BLOB存放檔案













較大檔案可以使用BIT
BLOB可存放容量較小

2011年2月25日 星期五

[MySQL]連phpmyadmin 出現 Not Found 解決

Not Found

The requested URL /phpmyadmin was not found on this server.

 


解決方法:

1. sudo /etc/init.d/apache2 start

開啟apache

2. cd /var/www

進入www

3. sudo ln -s /usr/share/phpmyadmin

建入phpmyadmin連結




2010年12月26日 星期日

[MySQL]DECIMAL資料型態

使用DECIMAL

  1. 字串儲存位數不限
  2. 解決FLOAT與DOUBLE在內部運算時造成的捨去誤差

[MySQL]三個資料表主要類型

在MySQL中有三種主要的類型


  1. MyISAM
    1. 成熟、穩定、容易管理
    2. 沒特殊需求,都該設定此資料表類型
  2. InnoDB
    1. 支援交易機制,提供資料庫安全性
  3. MEMORY
    1. 以前的HEAP資料表類型,資料僅會放在記憶體內,不放入實體檔案


MyISAM 與 InnoDB 比較
  • 追求空間、效率速度要使用MyISAM
  • 追求交易與安全性,多人同時修改資料狀況下使用InnoDB
  • 速度上反應速度雙方平分秋色