centos系统下mysql安装部署及用户管理

来源:互联网 发布:1×1矩阵的值怎么求 编辑:程序博客网 时间:2024/05/17 23:32

确保系统已经联网:

安装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.




0 0
原创粉丝点击