centos系統下mysql安裝部署及用戶管理

確保系統已經聯網:

安裝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中的操作權限 

ALTER

Allowsuse of ALTERTABLE.

ALTERROUTINE

Altersor drops stored routines.

CREATE

Allowsuse of CREATETABLE.

CREATEROUTINE

Createsstored routines.

CREATETEMPORARY TABLE

Allowsuse of CREATETEMPORARY TABLE.

CREATEUSER

Allowsuse of CREATEUSERDROPUSERRENAMEUSER,and REVOKEALL PRIVILEGES.

CREATEVIEW

Allowsuse of CREATEVIEW.

DELETE

Allowsuse of DELETE.

DROP

Allowsuse of DROPTABLE.

EXECUTE

Allowsthe user to run stored routines.

FILE

Allowsuse of SELECT..INTOOUTFILE and LOADDATA INFILE.

INDEX

Allowsuse of CREATEINDEX and DROPINDEX.

INSERT

Allowsuse of INSERT.

LOCKTABLES

Allowsuse of LOCKTABLES ontables for which the user also has SELECT privileges.

PROCESS

Allowsuse of SHOWFULL PROCESSLIST.

RELOAD

Allowsuse of FLUSH.

REPLICATION

Allowsthe user to ask where slave or master

CLIENT

serversare.

REPLICATIONSLAVE

Neededfor replication slaves.

SELECT

Allowsuse of SELECT.

SHOWDATABASES

Allowsuse of SHOWDATABASES.

SHOWVIEW

Allowsuse of SHOWCREATE VIEW.

SHUTDOWN

Allowsuse of mysqladminshutdown.

SUPER

Allowsuse of CHANGEMASTERKILLPURGEMASTER LOGS,and SETGLOBAL SQLstatements. Allows mysqladmindebug command.Allows one extra connection to be made if maximum connections arereached.

UPDATE

Allowsuse of UPDATE.

USAGE

Allowsconnection without any specific privileges.




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章