一、用户管理
mysql用户管理即用户的增删改查操作。
1、创建用户
insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
这样就创建了一个名为:test 密码为:1234 的用户。此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。
2、删除用户
Delete FROM user Where User='test' and Host='localhost';
flush privileges;
drop database testDB; //删除用户的数据库
删除账户及权限:>drop user 用户名@'%';
>drop user 用户名@localhost;
3、修改用户密码
第一种:update mysql.user set password=password('新密码') where User="test" and Host="localhost";
第二种:mysqladmin -u -username -p password "new_password"
忘记密码:如果root用户密码丢失了,会给用户造成很大的麻烦。但是,可以通过某种特殊方法登录到root用户下,然后修改密码。
a、使用--skip-grant-tables选项启动MySQL服务
该选项将使MySQL服务器停止权限判断,任何用户都能够访问数据库。
在Windows操作系统下,使用mysqlid或mysqlid-nt来启动MySQL服务。
mysqld命令:
mysqld --skip-grant-tables
mysqld-nt命令:
mysqld-nt --skip-grant-tables
net start mysql命令:
net start mysql --skip-grant-tables
b、登录root用户,并且设置新密码
mysql -u root
必须使用UPDATE语句更新mysql数据库下的user表,而不能使用SET语句,因为--skip-grant-tables不能使用SET语句。
修改完密码以后,FLUSH PRIVILEGES语句加载权限表,新密码即生效。
4、查看用户
use mysql;
select * from user;
二、用户授权
授权命令常用格式如下:
1、查看权限:showgrantsfor'用户'@'IP地址'
2、授权grant权限on数据库.表to'用户'@'IP地址'
3、取消授权revoke权限on数据库.表from'用户名'@'IP地址'
授权实例如下:grantallprivilegesondb1.tb1TO'用户名'@'IP'
grantselectondb1.*TO'用户名'@'IP'
grantselect,inserton*.*TO'用户名'@'IP'
grantselect,inserton*.*TO'用户名'@'%'
revokeselectondb1.tb1from'用户名'@'IP'
例子:
授权root用户拥有所有数据库的所有权限(某个数据库的所有权限):
mysql>grant all privileges on *.* to root@localhost identified by '123456';
mysql>flush privileges;//刷新系统权限表
三、用户权限
MySQL权限如下表
四、MySql设置远程访问权限
1.本地mysql客户端连接mysql
mysql-uroot-p
2.执行sql语句:
--使用mysql系统数据库 use mysql; --配置192.168.1.10可以通过root:123456访问数据库 GRANT ALL PRIVILEGES ON *.* to 'root'@'192.168.1.10' identified by '123456';--配置所有ip可以通过root:123456访问数据库 grant all privileges on *.* to root@'%' identified by "123456";--从mysql数据库中的授权表重新载入权限 flush privileges; --查看用户权限是否变更 select * from user;
3.远程访问权限已经配置完成。
如果觉得《MySQL用户管理 用户授权与权限及设置远程访问》对你有帮助,请点赞、收藏,并留下你的观点哦!