MYSQL用户及权限操作
在cmd中操作MySql
步骤:
net start mysql 启动服务
mysql -h<ip地址> -u<登录名> -p<密码> 登录数据库,“-h”为可选测试,缺省时默认登录本地数据库
Mysql -h127.0.0.1 -uroot -p 登录远程主机
Exit 退出登录
Net stop mysql 关闭服务
常见问题:
启动服务提升“服务名无效”
输入services.msc查看服务列表是否有mysql服务
切换到mysql/bin目录输入mysqld.exe -install添加服务
若提示install/remove of the service denide错误,用管理员运行cmd再次尝试
或在本地以管理员运行mysqld.exe,再次尝试
在Terminal中操作Mysql
步骤:
Service mysqld start启动服务
Mysql -uroot -ppwd 登录数据库
Service mysqld restart 重启
Service mysqld stop 关闭
用户及权限管理
添加用户:CREATE USER 'made'@'%' IDENTIFIED BY 'password';
授权命令:GRANT ALL PRIVILEGES ON school.* TO 'made'@'%';
授予select权限:GRANT SELECT ON school.* TO 'made'@'%';
剥夺权限:REVOKE ALL PRIVILEGES ON school.* FROM 'made'@'%';
刷新权限表:FLUSH PRIVILEGES;
删除用户:DROP USER 'made'@'%';
说明:‘made’是我创建的用户名,‘%’这里可以写‘localhost’表示只能在本机登录这个用户,或者写一个ip地址表示只能在这台主机登录。
也就是书‘@’后面是表明我创建的这个用户可以在哪里登录,%表示没有限制在哪一台主机登录
All表示所有操作权限,这里可以写“delete,select”指定一种或多种权限,“ON 库名.表名”授予某一个库,某一个表的权限“*”表示所有如“*.*”
设置与更改用户密码
命令:SET PASSWORD FOR 'username'@'%' = PASSWORD('newpassword');如果是修改当前登陆的用户用SET PASSWORD = PASSWORD("newpassword");
例子: SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
例子: GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
操作数据库:
创建
Create database 数据库名; (创建库)
create table [if not exists] 表名(
字段1 数据类型 [字段属性|约束] [索引] [注释],
字段2 数据类型 [字段属性|约束] [索引] [注释],
)[表类型] [字符集类型] [注释]; (创建表)
删除
DROP DATABASE 数据库名; (删除库)
修改
alter table 旧表名 rename [to] 新表名; (重命名)
Alter table 表名 add 字段名 数据类型 [属性]; (添加字段)
Alter table 表名 change 原字段名 字段名 数据类型 [属性];(修改字段)
Alter table 表名 drop 字段名;
查看:
查看库: show databases;
选中库:use 库名;
查看所有表:show tables;(执行前需要选中库)
查看表:describe 表名;
看表结构:desc 表名;

浙公网安备 33010602011771号