记录一下window系统中操作mysql常用的命令,方便自己和大家查阅,这里可能记录的命令比较少,会单独记录一篇Linux系统中操作mysql的命令,那个会比较全,毕竟生成环境用Linux还是比较多的,各位看到此博客的小伙伴,如有不对的地方请及时通过私信我或者评论此博客的方式指出,以免误人子弟。多谢!
目录
前提条件
我本机已经配置了环境变量,所以执行登录的时候不需要cmd到MySQL的bin目录,如果没有配置环境变量,需要先进入bin目录。使用的用户名和密码都是root。
登录退出
登录:mysql -uroot -p 之后按提示输入密码即可登录成功。
退出:exit
用户管理
创建用户
语法:
create user 'username'@'localhost' identified by 'password';
- username:登陆使用的用户名;
- password:登陆使用的密码;
- localhost:如果是localhost代表只允许本机登录,也可以指定ip地址,此值可以有如下三种方式设置:
- %:代表可以允许客户端以任意 IP 访问;
- 192.168.18.%:代表可以允许客户端以 192.168.18 网段的 IP 地址进行访问,一般生产中使用此方式,仅仅配置某个应用服务器网段的 IP 地址允许访问;
- localhost:代表只能通过本机登录;
示例:
create user 'yjh'@'localhost' identified by 'root123';
添加成功后可以在 performance_schema 库中 users 表中查到。
删除用户
drop user 'username'@'localhost';
修改密码
语法:
-- 修改当前用户密码
set PASSWORD=PASSWORD('new-password')
-- 修改其他用户密码
set password for root@localhost = password('new-password');
示例:
set password=password('new-password')
set password for 'yjh'@'localhost' = password('new-password');
权限管理
常用权限
类型 | 描述 |
---|---|
ALL | 所有可用的权限 |
CREATE | 创建库、表和索引 |
LOCK_TABLES | 锁定表 |
ALTER | 修改表 |
DELETE | 删除表 |
INSERT | 插入表或列 |
UPDATE | 更新表 |
SELECT | 检索表或列的数据 |
DROP | 删除库、表和视图 |
更多的权限说明参考 MySQL中文网
用户赋权
语法:
grant <privileges> on <database>.<table> to 'username'@'localhost' WITH GRANT OPTION;
- privileges:上述列出来的权限名;
- database:需要赋予的数据库名;
- table:需要赋予的数据库里面的表明;
- WITH GRANT OPTION:可以将权限赋于其他用户,该选项一般在生产中不做使用,权限将由 DBA 进行管控,不存在开发人员互相开通权限情况;
赋予多个权限需要用逗号“,”分隔,如我们配置给某个库内全部的读与更新权限:
grant select,update on test.* to 'yjh'@'localhost';
查看用户权限
-- 查看当前登陆用户
select user();
-- 查看某个用户权限
show grants for 'root'@'localhost';
回收权限
语法:
revoke <privileges> on <database>.<table> from 'username'@'localhost';
示例:
revoke update on test.* from 'yjh'@'localhost';
保存设置
设置权限可以通过修改数据库的形式进行设置,设置完毕之后需要刷新更改的权限设置。
FLUSH PRIVILEGES;