在命令列下進行批次處理:
shell> mysql -h host -u user -p < batch-file
Enter password: ********
一、帳號與權限
設定 root 和其他 user 的密碼
* mysqladmin -u root password '新密碼'
* mysqladmin -u root -p
* Enter password: 此時再輸入密碼(建議採用)
* use mysql;
mysql> UPDATE user SET password=password('新密碼') where user='root';
只改 root 的密碼,如果沒有用 where ,則表示改全部 user 的密碼
* mysql> FLUSH PRIVILEGES; 在 mysql 資料庫內,一定要用 flush 更新記憶體上的資料
刪除空帳號
* mysql> DELETE FROM user WHERE User = '';
* mysql> FLUSH PRIVILEGES;
建立新帳號
* mysql> GRANT 權限 ON 資料庫或資料表 TO 使用者 IDENTIFIED BY '密碼';
權限
資料庫或資料表
*.* 所有資料庫裡的所有資料表
* 預設資料庫裡的所有資料表
資料庫.* 某一資料庫裡的所有資料表
資料庫.資料表 某一資料庫裡的特定資料表
資料表 預設資料庫裡的某一資料表
設定/修改權限
* 用 root 登入 MySQL
mysqladmin -u root -p
Enter password:
* mysql> GRANT all ON db35.* TO s35@'localhost' IDENTIFIED BY 's35';
把 db35 這個資料庫(含其下的所有資料表),授權給 s35,從 localhost 上來,密碼為s35
* mysql> GRANT all ON *.* 把所有資料庫及資料表授權給別人,太危險了!
* mysql> GRANT all??? ON www.* TO '*'@'*' IDENTIFIED BY '';
把 www 這個資料庫(含其下的所有資料表),授權給 任何機器任何人,無密碼(通常給不特定人士使用)
* mysql> FLUSH PRIVILEGES; (最後一定要強迫更新權限)
二、資料庫/資料表/欄位的操作
建立資料庫 CREATE DATABASE 資料庫名;
語法:CREATE DATABASE db_name
使用資料庫 USE 資料庫名;
語法:USE db_name
刪除資料庫 DROP DATABASE 資料庫名;
語法:DROP DATABASE [IF EXISTS] db_name
建立資料表
CREATE TABLE 資料表名 (欄位1 資料型態, 欄位2 資料型態, ......);
語法:
CREATE TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [select_statement]
資料表最佳化 OPTIMIZE TABLE 資料表名
語法:OPTIMIZE TABLE tbl_name
欄位長度有變動、刪除大量資料,都應進行資料表最佳化
copy frm : http://www.hmes.kh.edu.tw/~jona/redhat/mysqlphp/mysqlsyntax.htm