
- MySQLi 教程
- MySQLi - 首頁
- MySQLi - 簡介
- MySQLi - PHP 語法
- MySQLi - 連線
- MySQLi - 建立資料庫
- MySQLi - 刪除資料庫
- MySQLi - 選擇資料庫
- MySQLi - 建立表
- MySQLi - 刪除表
- MySQLi - 插入查詢
- MySQLi - 選擇查詢
- MySQLi - WHERE 子句
- MySQLi - 更新查詢
- MySQLi - 刪除查詢
- MySQLi - LIKE 子句
- MySQLi - 排序結果
- MySQLi - 使用 JOIN
- MySQLi - 處理 NULL 值
- 獲取和使用 MySQLi 元資料
- MySQL
- MySQL - 安裝
- MySQL - 管理
- MySQL - 資料型別
- MySQL - 正則表示式
- MySQL - 事務
- MySQL - ALTER 命令
- MySQL - 索引
- MySQL - 臨時表
- MySQL - 克隆表
- MySQL - 使用序列
- MySQL - 處理重複資料
- MySQLi 有用資源
- MySQLi - 有用函式
- MySQLi - 快速指南
- MySQLi - 有用資源
- MySQLi - 討論
MySQLi - 管理
執行和關閉 MySQL 伺服器
首先檢查您的 MySQL 伺服器是否正在執行。您可以使用以下命令進行檢查:
ps -ef | grep mysqld
如果您的 MySQL 正在執行,您將看到結果中列出了 **mysqld** 程序。如果伺服器未執行,您可以使用以下命令啟動它:
root@host# cd /usr/bin ./safe_mysqld &
現在,如果您想關閉正在執行的 MySQL 伺服器,可以使用以下命令:
root@host# cd /usr/bin ./mysqladmin -u root -p shutdown Enter password: ******
設定 MySQL 使用者帳戶
要向 MySQL 新增新使用者,您只需要在 **mysql** 資料庫的 **user** 表中新增一個新條目。
以下程式是新增新使用者 **guest** 的示例,該使用者具有 SELECT、INSERT 和 UPDATE 許可權,密碼為 **guest123**;SQL 查詢如下:
root@host# mysql -u root -p Enter password:******* mysql> use mysql; Database changed mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y'); Query OK, 1 row affected (0.20 sec) mysql> FLUSH PRIVILEGES; Query OK, 1 row affected (0.01 sec) mysql> SELECT host, user, password FROM user WHERE user = 'guest'; +-----------+---------+------------------+ | host | user | password | +-----------+---------+------------------+ | localhost | guest | 6f8c114b58f2ce9e | +-----------+---------+------------------+ 1 row in set (0.00 sec)
新增新使用者時,請記住使用 MySQL 提供的 PASSWORD() 函式加密新密碼。如上例所示,密碼 mypass 被加密為 6f8c114b58f2ce9e。
注意 FLUSH PRIVILEGES 語句。這告訴伺服器重新載入授權表。如果不使用它,您將無法使用新使用者帳戶連線到 MySQL,至少在伺服器重新啟動之前是這樣。
您還可以透過在執行 INSERT 查詢時將以下列的值設定為 'Y' 來為新使用者指定其他許可權,或者您以後可以使用 UPDATE 查詢來更新它們。
- Select_priv
- Insert_priv
- Update_priv
- Delete_priv
- Create_priv
- Drop_priv
- Reload_priv
- Shutdown_priv
- Process_priv
- File_priv
- Grant_priv
- References_priv
- Index_priv
- Alter_priv
另一種新增使用者帳戶的方法是使用 GRANT SQL 命令。以下示例將為名為 **TUTORIALS** 的特定資料庫新增使用者 **zara**,密碼為 **zara123**。
root@host# mysql -u root -p password; Enter password:******* mysql> use mysql; Database changed mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP → ON TUTORIALS.* → TO 'zara'@'localhost' → IDENTIFIED BY 'zara123';
這也會在名為 **user** 的 MySQL 資料庫表中建立一個條目。
**注意** - 除非在 SQL 命令末尾新增分號 (;),否則 MySQL 不會終止命令。
/etc/my.cnf 檔案配置
在大多數情況下,您不應該修改此檔案。預設情況下,它將包含以下條目:
[mysqld] datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.sock [mysql.server] user = mysql basedir = /var/lib [safe_mysqld] err-log = /var/log/mysqld.log pid-file = /var/run/mysqld/mysqld.pid
在這裡,您可以為錯誤日誌指定不同的目錄,否則您不應該更改此表中的任何條目。
MySQL 管理命令
以下是您將不時使用來處理 MySQL 資料庫的重要 MySQL 命令列表:
**USE 資料庫名** - 這將用於在 MySQL 工作區中選擇一個數據庫。
**SHOW DATABASES** - 列出 MySQL DBMS 可訪問的資料庫。
**SHOW TABLES** - 在使用 USE 命令選擇資料庫後,顯示資料庫中的表。
**SHOW COLUMNS FROM *表名*:** 顯示錶的屬性、屬性型別、鍵資訊、是否允許 NULL、預設值以及表的其他資訊。
**SHOW INDEX FROM 表名** - 顯示錶上所有索引的詳細資訊,包括主鍵。
**SHOW TABLE STATUS LIKE 表名\G** - 報告 MySQL DBMS 效能和統計詳細資訊。