mysql用户密码权限管理和远程登录管理

1.如果忘记root密码

killall -TERM mysqld 

/usr/local/mysql/bin/mysqld_safe --skip-grant-tables  ///usr/local/mysql为mysql安装目录

可以用mysqladmin 修改:root
mysqladmin -u password 'new password''

mysqladmin  flush-privileges

也可以使用mysql语句修改:

mysql  -uroot             //无密码登录到mysqld server

mysql>use mysql

mysql>update user set password=password("new_pass") where user="root";

mysql>flush privileges

重新killall  MySQL ,用正常方法启动 MySQL。

2.用户授权

用户授权,方法如下:
格式:GRANT 权限列表[(字段列表)] ON 数据库名称.表名 TO 用户名@域名或 IP 地址
[IDENTIFIED BY ‘密码值’] [WITH GRANT OPTION];
常用权限如下:
全局管理权限:
FILE: 在 MySQL 服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭 MySQL 服务。
数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和 root 一样)。
USAGE: 只允许登录--其它什么也不允许做。

例一: 要授权给用户 guest 可以从任意主机连接到数据库服务器, 并具有完全访问学生
选课数据库 xsxk 的权限。
grant all on xsxk.* to guest@’%’ identified by ‘guest’;
说明:
A.%表示从任何主机连接到数据库服务器,也可以用空白
B.%.gdvcp.net 表示从 gdvcp.net 域中的任何主机连接到数据库服务器
C.192.168.85.% 表示从 192.168.85.0 子网中任何主机连接到数据库服务器
D.localhost 表示从本地主机连接
E.192.168.85.242 表示从 IP 为 192.168.85.242 的主机连接
例二:新建一个用户 tom,让他能从子网 192.168.85.0 中任何主机连接到数据库服务
器,可以读取数据库 xsxk 的内容,并且能修改表 course 中字段 teacher 的值。
grant select on xsxk.* to tom@’192.168.85.%’ identified by ‘123’;
grant update(teacher) on xsxk.course to tom@’192.168.85.%’;
例三:mysql 管理员要授权用户 admin 可以从本地连接到数据库服务器,对学生选课数
据库 xsxk 具有完全访问权限,并可将其拥有的权限授予其他用户
grant all on xsxk.* to admin@localhost identified by ‘123’ with grant option;
用户撤权,方法如下:
格式: REVOKE 权限列表[(字段列表)] ON 数据库名.表名 FROM 用户名@域名或IP地址;
例:mysql 管理员要撤销用户 admin@localhost 对数据库 xsxk 所拥有的创建删除数据
库与表的权限,并撤销该用户可以把自己拥有的权限授予其他用户的权限。
revoke create,drop on xsxk.* from admin@localhost;
revoke grant option on xsxk.* from admin@localhost;

3.允许远程登录mysql

方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
方法二、直接授权(推荐)

  从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

# mysql -u root -proot 
mysql>GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

操作完后切记执行以下命令刷新权限 

FLUSH PRIVILEGES

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值