MYSQL用户及权限操作
Posted blueskywhiteclouds
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL用户及权限操作相关的知识,希望对你有一定的参考价值。
在cmd中操作mysql
步骤:
net start mysql 启动服务
mysql -uroot -ppassward 登录数据库
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‘@‘%‘;
设置与更改用户密码
命令:SET PASSWORD FOR ‘username‘@‘host‘ = PASSWORD(‘newpassword‘);如果是 当前登陆用户用SET PASSWORD = PASSWORD("newpassword");
例子: SET PASSWORD FOR ‘pig‘@‘%‘ = PASSWORD("123456");
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
例子: 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 表名;
增删改查
Insert [into] 表名 [列1,列2] values (值,值); (插入)
Delete 表名 [where ]; (删除)
Truncate table 表名; (删除所有行)
Update 表名 set 列名=更新值 [where ]; (更改)
例:update students set age=age+5; (所有age加5)
Select * from 表名 [where ]; (查询)
以上是关于MYSQL用户及权限操作的主要内容,如果未能解决你的问题,请参考以下文章