1.库操作
1.创建 CREATE DATABASE db charset utf8; 创建一个名字为 db的数据库,并指定当前库的编码集为utf8 2.删除 DROP DATABASE db; 删除库 3.选择数据库(进入) use db; 4.查看库 show databases ; -- 查看当前用户下所有的库名 select DATABASE(); -- 查看当前使用的 show CREATE DATABASE db1; -- 查看创建库的信息
2.用户权限:用户管理 identified 确定密码
-- CREATE USER 'zxc'@'%' identified by '123' #创建所有人都可以连接用户 %代表所有 -- CREATE USER 'zxc'@'192.168.13.79' identified by '123' 创建特定用户连接 统一格式: create user '用户名'@'IP地址' identified by '密码'; -- DROP user 'zxc'@'%' #删除用户 drop user '用户名'@'IP地址'; -- rename user 'zxc'@'192.168.13.79'TO 'zzxxcc'@'192.168.13.79';#修改用户 rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
3.授权管理 grant 赋予,给予
SHOW GRANTS FOR 'zzxxcc'@'192.168.13.79'; -- 查看权限 -- grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权 -- 举例授权 db数据库下的所有表的 查询.更新.修改权限 GRANT select,update,delete on db.* to 'zzxxcc'@'192.168.13.79'; -- 授权 所有库的所有权限-->*.*(除grant权限外) privileges特权 grant all privileges on *.* to 'zzxxcc'@'192.168.13.79'; flush privileges; #刷新用户权限必须刷新才能看到效果 show grants for'zzxxcc'@'192.168.13.79'; #再次查询权限就发生变化了 -- revoke 权限 on 数据库.表 from '用户'@'IP地址' -- 取消权限 revoke DELETE on db.* FROM 'zzxxcc'@'192.168.13.79'; flush PRIVILEGES; show grants for'zzxxcc'@'192.168.13.79';
4.修改密码
-- 方式一: mysqladmin 命令 #在cmd中使用 -- mysqladmin -u 'zzxxcc' -p123 PASSWORD 123456; -- 方式二: 直接设置用户密码 set password for 'zzxxcc'@'192.168.13.79'=PASSWORD('123456'); flush privileges; -- 刷新权限 -- 方式三:修改mysql库下的user表 5.7和5.6的区别是password变成了authentication_string -- 5.6 版本 update mysql.user set password = password('新密码') where user= '用户名' flush privileges; -- 刷新权限 -- 5.7版本修改密码方式: update mysql.user set authentication_string=password('新密码') where user= '用户名' flush privileges; -- 刷新权限
5.忘记密码
-- 1.首先打开cmd窗口,关闭mysql服务 -->net stop mysql -- 2.跳过权限检查,启动mysql mysql -->skip-grant-tables -- 3.重新打开一个新的cmd窗口,启动客户端(已跳过权限检查,可以直接登录) --> mysql -- 4.直接进来,修改密码 -->update mysql.user set authentication_string=password('123456') where user='root'; -- 5. 刷新权限 flush privileges;
6.中文乱码问题 使用5.7会乱码
-- 查询字符编码 variables 变量 -- show variables like 'char%' #5.7以下都是默认utf-8