mysql常用操作:登陆、添加新用户、分配权限及相关操作命令

  • Post author:
  • Post category:mysql


一、登录mysql

本地登录mysql账户:

mysql -u 【mysql账户名】 -p
--可以是root账户名也可以是普通账户,让后输入密码即可登陆

登陆远程主机的mysql账户

mysql -h [mysql所在的远程主机ip] -P [mysql所在的远程主机设置的mysql服务端口] -u 【mysql账户】 -p 【mysql账户密码】
--mysql的默认服务端口是3306

二、添加新账户

允许本地 IP 访问 localhost, 127.0.0.1 ,假设添加的新账户名为test,密码设置为123456

create user 'test'@'localhost' identified by '123456';

允许外网 IP 访问

create user 'test'@'%' identified by '123456';

刷新授权—创建之后记得执行下面指令更新权限

flush privileges;

三、为用户创建数据库

create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;



四、为新用户分配权限

执行 GRANT 语句创建用户并授权

语法:

CRANT priv_type ON databasename.tablename TO `username`@`host` [IDENTIFIED BY [PASSWORD] `password`]

[WITH GRANT OPTION];

priv_type : 表示设置的用户操作权限,如果授予所有权限可使用ALL 。

MySQL中的权限有多,以下列出常用的数据库或表操作权限

@CRANT 和 DROP 权限,可以创建数据库,或删除已有数据库和表。

@INSERT / DELECT / SELECT 和 UPDATE 权限,允许在一个数据库现有的表上实施增,删,查,改操作。

@ALTER 权限,可以用 ALTER  ALTER来更改表的结构和重命名表。

@databasename.tablename 表示所创建用户账号的权限范围,及只能在指定数据库和表上使用此权限,

如果给所有数据库和授权,则可使用 *.*

@WITH GRANT OPTION 表示新建立的用户赋予 GRANT 权限,可选

@其他部分与 CRANT USER 语句一致

1.  grant 权限 on

数据库

.数据表 to ‘用户’ @ ‘主机名’ IDENTIFIED BY 密码;

例:

1.1 给 xiaogang 分配所有的权限

grant all on *.* to ‘xiaogang’@’localhost’;

1.2 如何更精准的控制用户的权限呢?

grant 权限 on

数据库

.数据表 to ‘用户’ @ ‘主机名’;

例:

让 xiaogang 有查询 tmp 数据库 tmp1 表的权限;

grant

select

on temp.temp1 to ‘xiaogang’@’localhost’;

//这个时候 xiaogang 就具有查询temp小的temp1的权限了。

五、修改账户密码

1)使用mysqladmin 命令修改root账户密码:

语法:

mysqladmin -u username -p password “newpassword”  //输入新密码

Enter password: //输入旧密码

2)使用SET命令修改用户密码:

用户登陆MySQL服务器后,可使用SET命令修改当前用户密码:语法如下

语法:

SET PASSWORD [FOR `username`@`host`]= PASSWORD (`newpassword`);

其中,PASSWORD ()函数是对密码加密,“newpassword”是设置的新密码。

如果修改非当前登陆用户密码,则需要使用FOR指定要修改的帐户名。

注意:

只有超级管理员用户(如root用户)才能修改其他用户密码,如果是普通用户,可省略FOR子句修改自己的密码。

#修改当前登录账户密码

SET PASSWORD = PASSWORD(“0000”);

#修改其他用户

SET PASSWORD FOR `teacher`@`localhost`=PASSWORD(“88888”);

六、删除普通用户

语法:

DROP USER `username`@`localhos` ,[`username1`@`localhost`………];

例:

DROP USER `text1`@`localhost`;

注意:

要使用DROP USER 语句,必须拥有MySQL 数据库的全局 CREATE USER 权限或 DELECT权限,

一般由数据库管理员(DBA)来执行此操作。



版权声明:本文为qq_28584889原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。