centos系统下mysql安装部署及用户管理
2016-06-07 16:42
483 查看
确保系统已经联网:
安装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:关闭
首先关闭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
以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中的操作权限
安装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 CREATEUSER, DROPUSER, RENAMEUSER,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 CHANGEMASTER, KILL, PURGEMASTER 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. |
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复