首先檢查 MySQL 服務(wù)器是否正在運(yùn)行??梢允褂孟铝忻顏泶_認(rèn)這一點(diǎn):
ps -ef | grep mysqld
如果 MySQL 正在運(yùn)行,在上述命令的運(yùn)行結(jié)果中就能看到 mysqld 進(jìn)程。如果服務(wù)器沒有運(yùn)行,使用下列命令來啟動(dòng)它:
root@host# cd /usr/bin
./safe_mysqld &
如果想關(guān)閉正在運(yùn)行的 MySQL 服務(wù)器,使用如下命令即可:
root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******
添加新的 MySQL 用戶,只需在數(shù)據(jù)庫 mysql 的 user 表中添加一個(gè)新項(xiàng)即可。
在以下范例中,添加了一個(gè)新用戶 guest,該用戶具有 SELECT、INSERT、UPDATE 權(quán)限,密碼是 guest123。SQL 查詢?nèi)缦拢?
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)
在添加新用戶時(shí),記住要用 MySQL 提供的 PASSWORD() 函數(shù)對(duì)該用戶的密碼進(jìn)行加密處理。如上例所示,密碼 mypass 被加密成了 6f8c114b58f2ce9e。
注意這里所用的 FLUSH PRIVILEGES 語句。它讓服務(wù)器重新加載授權(quán)表。如果不使用它,就至少得等到服務(wù)器重新啟動(dòng)后,才能使用新用戶賬號(hào)連接 mysql。
你也可以為新用戶指定其他權(quán)限,在執(zhí)行 INSERT 查詢時(shí),將用戶表中的下面這些列的值都設(shè)為 ‘Y’,或者使用 UPDATE 查詢稍后對(duì)它們進(jìn)行更新。
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
另外一種添加用戶賬號(hào)的方式是使用 SQL命令 GRANT。下面這個(gè)例子將在數(shù)據(jù)庫 TUTORIALS 上添加一個(gè)名為 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';
這會(huì)在 mysql 數(shù)據(jù)庫的 user 表中創(chuàng)建一個(gè)項(xiàng)。
注意:如果 SQL 命令不以分號(hào)(
;)結(jié)束的話,MySQL 就不會(huì)終止這個(gè)命令。
大多數(shù)情況下,根本用不到這個(gè)文件。默認(rèn)狀態(tài)下,它應(yīng)該包含如下項(xiàng):
[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
在這里,可以為 error log 更換不同的目錄。另外,不要更改這張表中的其他項(xiàng)。
下面列出了一些重要且經(jīng)常會(huì)用到的MySQL命令: