图片 2

的基本操作,Mysql创建用户并授权

使用mysql ,出现新建账户无法登录问题

1、MySQL的下载与安装

1.mysql下载地址http://dev.mysql.com/downloads/mysql/我的机器是mac10.8的;所以使用mysql-5.6.28-osx10.8-x86_64.dmg安装包;

2.安装软件包位于硬盘映象(.dmg)文件中,必须首先双击搜索起中的图标来安装该文件。应当安装图像并显示其内容。

MySQL5.7 mysql.user表没有password字段改 authentication_string;

图片 1 

2、MYSQL的基本操作

更改mysql root账户密码

终端中输入命令:/usr/local/mysql/bin/mysqladmin -u root
password 新密码

你可以随时使用这条命令更改你的密码。

终端登录mysql

方法1:绝对路径

终端中输入命令:/usr/local/mysql/bin/mysql-u

root -p

提示:输入你的新密码

方法2:(推荐)相对路径

终端中输入命令:

查看路径中有没有需要的路径:终端中输入命令:echo $PATH

没有,继续

添加需要路径:PATH=”$PATH”:/usr/local/mysql/bin
 (这个命令添加的路径是临时的,不能保存)

以后

终端中需输入命令:mysql-u root -p即可

一. 创建用户:

  • 命令:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • 例子:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'dog2'@'localhost' IDENTIFIED BY '';
  • PS:username – 你将创建的用户名,
  • host –
    指定该用户在哪个主机上可以登陆,此处的”localhost”,是指该用户只能在本地登录,不能在另外一台机器上远程登录,如果想远程登录的话,将”localhost”改为”%”,表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;
  • password –
    该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。

查看
user列表中,有部分账户没有设置密码,将全部重新设置一遍密码,然后还是无法登录。

3.创建用户 分配权限

grant all privileges on *.* to ‘user’@’localhost’ with grant option

grant all privileges on *.* to ‘user’@’localhost’ identified by
‘123456′;

flush privileges;

1.新建用户。

登录MYSQL

@>mysql -u root -p

@>密码

创建用户

mysql> insert into mysql.user(Host,User,Password)
values(“localhost”,”phplamp”,password(“1234”));

刷新系统权限表

mysql>flush privileges;

这样就创建了一个名为:phplamp密码为:1234的用户。

然后登录一下。

mysql>exit;

@>mysql -u phplamp -p

@>输入密码

mysql>登录成功

2.为用户授权。

登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.

@>mysql -u root -p

@>密码

首先为用户创建一个数据库(phplampDB)

mysql>create database phplampDB;

授权phplamp用户拥有phplamp数据库的所有权限。

>grant all privileges on phplampDB.* to phplamp@localhost
identified by ‘1234’;

刷新系统权限表

mysql>flush privileges;

mysql>其它操作

如果想指定部分权限给一用户,可以这样来写:

mysql>grant select,update on phplampDB.* to phplamp@localhost
identified by ‘1234’;

//刷新系统权限表。

mysql>flush privileges;

3.删除用户。

@>mysql -u root -p

@>密码

mysql>DELETE FROM user WHERE User=”phplamp” and Host=”localhost”;

mysql>flush privileges;

//删除用户的数据库

mysql>drop database phplampDB;

4.修改指定用户密码。

@>mysql -u root -p

@>密码

mysql>update mysql.user set password=password(‘新密码’) where
User=”phplamp” and Host=”localhost”;

mysql>flush privileges;

二.授权:

  • 命令:

GRANT privileges ON databasename.tablename TO 'username'@'host'
  • PS:

    • privileges – 用户的操作权限,如SELECT , INSERT , UPDATE
      等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;
    • databasename –
      数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,
      .*.
  • 例子:

GRANT SELECT, INSERT ON mq.* TO 'dog'@'localhost';

 图片 2

三.创建用户同时授权

mysql> grant all privileges on mq.* to test@localhost identified by '1234';Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)
  • PS:必须执行:
    **flush privileges; **
    **否则登录时提示:ERROR 1045 (28000): Access denied for user
    ‘user’@’localhost’ (using password: YES ) **

 

四.设置与更改用户密码

  • 命令:SET PASSWORD FOR ‘username’@’host’ = PASSWORD(‘newpassword’);

  • 例子: SET PASSWORD FOR ‘dog2’@’localhost’ = PASSWORD(“dog”);

使用命令 update user set password=password(“123456”);
更新user表中所有数据的密码。

五.撤销用户权限

  • 命令: REVOKE privilege ON databasename.tablename FROM
    ‘username’@’host’;
  • 说明: privilege, databasename, tablename – 同授权部分.
  • 例子:

REVOKE SELECT ON mq.* FROM 'dog2'@'localhost';
  • PS:

假如你在给用户’dog’@’localhost”授权的时候是这样的(或类似的):GRANT
SELECT ON test.user TO ‘dog’@’localhost’, 则在使用REVOKE SELECT ON .
FROM
‘dog’@’localhost’;命令并不能撤销该用户对test数据库中user表的SELECT
操作.相反,如果授权使用的是GRANT SELECT ON . TO
‘dog’@’localhost’;则REVOKE SELECT ON test.user FROM
‘dog’@’localhost’;命令也不能撤销该用户对test数据库中user表的Select
权限.
具体信息可以用命令SHOW GRANTS FOR ‘dog’@’localhost’; 查看.

发表评论

电子邮件地址不会被公开。 必填项已用*标注