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 表名;

 

 

posted @ 2018-04-12 18:53  蓝天白云飘飘  阅读(132)  评论(0)    收藏  举报