確保系統已經聯網:
安裝mysql
yum install mysql
安裝mysql服務器端:
yum install mysql-server
yum install mysql-devel
啓動mysql服務:
servicemysqld start或者/etc/init.d/mysqld
start
設置開機啓動:
chkconfig --add mysqld
chkconfid mysqld on
查看開機啓動設置是否成功chkconfig--list
| grep mysql*
mysqld 0:關閉1:關閉2:啓用3:啓用4:啓用5:啓用6:關閉
root用戶配置
mysql安裝後需要配置root用戶密碼。
首先關閉mysql
/etc/init.d/mysqldstop
以安全模式運行
/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
等待5秒,以root用戶登陸:
/usr/bin/mysql-u root mysql
進入mysql命令行,執行:
mysql>update user set password = Password('123') where
User ='root';
將root密碼設置爲123
刷新一下權限表:
mysql>flush privileges;
現在可以以root用戶登陸了:
mysql>mysql-uroot -p
刪除匿名用戶
安裝完MySQL以後會自動創建一個root用戶和一個匿名用戶,而這個匿名用戶只能在本地使用且擁有很高權限。出於安全性的考慮,將匿名用戶刪除:
以root用戶登陸:
mysql-u root -p
mysql>selectuser,host from mysql.user;
可以看到除了root用戶還存在用戶名爲空的用戶。
刪除匿名用戶並刷新一下才能起效:
mysql>delete from mysql.user where user='';
mysql>flush privileges;
用戶管理
一,創建用戶:
命令:CREATEUSER 'username'@'host' IDENTIFIED BY 'password';
說明:username-你將創建的用戶名,host
-指定登陸主機,如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%.password
- 登陸密碼,密碼可以爲空,如果爲空則該用戶可以不需要密碼登陸服務器.
例子:CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATEUSER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATEUSER 'pig'@'%' IDENTIFIED BY '123456';
CREATEUSER 'pig'@'%' IDENTIFIED BY '';
CREATEUSER 'pig'@'%';
二,授權:
命令:GRANTprivileges ON databasename.tablename TO 'username'@'host'
說明:privileges -用戶的操作權限,如SELECT,
INSERT , UPDATE 等(詳細列表見該文最後面).如果要授予所的權限則使用ALL.;databasename-數據庫名,tablename-表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用*表示,如*.*.
例子:GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANTALL ON *.* TO'pig'@'%';
注意:用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令:
GRANTprivileges ON databasename.tablename TO 'username'@'host' WITH GRANTOPTION;
三.設置與更改用戶密碼
命令:SETPASSWORD FOR 'username'@'host' =PASSWORD('newpassword');如果是當前登陸用戶用SETPASSWORD
= PASSWORD("newpassword");
例子:SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
四.撤銷用戶權限
命令:REVOKE privilege ON databasename.tablename FROM'username'@'host';
說明:privilege, databasename, tablename -同授權部分.
例子:REVOKE SELECT ON *.* FROM 'pig'@'%';
注意:假如你在給用戶'pig'@'%'授權的時候是這樣的(或類似的):GRANTSELECT
ON test.user TO 'pig'@'%', 則在使用REVOKESELECT ON *.* FROM 'pig'@'%';命令並不能撤銷該用戶對test數據庫中user表的SELECT操作.相反,如果授權使用的是GRANTSELECT
ON *.* TO 'pig'@'%';則REVOKESELECT ON test.user FROM 'pig'@'%';命令也不能撤銷該用戶對test數據庫中user表的Select權限.
具體信息可以用命令SHOWGRANTS FOR 'pig'@'%';查看.
五.刪除用戶
命令:DROP USER 'username'@'host';
附表:在MySQL中的操作權限