MySql添加用户并授权的方法

发布时间:2020-07-20编辑:脚本学堂
在mysql中如何添加用户,并且为mysql用户授权,这里分享下具体的操作方法,有需要的朋友参考下。

一, 添加mysql用户并授权

解决客户端与服务器端的连接(mysql) :
 

xxx.xxx.xxx.xxx is not allowed to connect to this mysql server
MySql connect error: xxx.xxx.xxx.xxx is not allowed to connect to this mysql server

1、Login into mysql,create a new user named "xuys":
Format(MySql4.1.18):
GRANT [privilage] ON [database Name].[Table Name] TO  [User Name]@"[Server IP]" IDENTIFIED BY '[User Password]';

例如:
 

复制代码 代码示例:
grant select,update,insert,delete on *.* xuys@"192.168.1.111
identified by 'xuys1234';
GRANT ALL PRIVILEGES ON *.* TO ml@"%" IDENTIFIED BY 'pass'

To view the result, Excute:
   use mysql;
   select host,user,password from user;

可以看到在user表中已有刚才创建的xuys用户。
host字段表示登录的主机,其值可以用IP,也可用主机名, 将host字段的值改为%就表示在任何客户端机器上能以xuys用户登录到mysql服务器,建议在开发时设为%。 
 

复制代码 代码示例:
update user set host = '%' where user = 'xuys';

2、
 

复制代码 代码示例:
./mysqladmin -uroot -p21century reload
./mysqladmin -uroot -p21century shutdown

3、./mysqld_safe --user-root &
记住:对授权表的任何修改都需要重新reload,即执行第3步。

如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在mysql数据库的db表中插入一条记录:
 

复制代码 代码示例:
use mysql;
insert into User values('192.168.88.234','%','xuys','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
update User set host = '%' where user = 'xuys';

Repeat Step 2 & 3.

MySQL是一个真正的多用户、多线程sql数据库服务器。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。由于其源码的开放性及稳定性,且与网站流行编 挥镅 PHP的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用。处于安全方面的考虑,需要为每一用户赋于对不同数据库的访问限制,以满足不同用户的要求。下面就分别讨论,供大家参考。 

一、MySQL修改密码方法

说明:一般情况下,修改MySQL密码是需要有mysql里的root权限的,这样一般用户是无法更改密码的,除非请求管理员帮助修改。 

方法一 使用phpmyadmin

(图形化管理MySql数据库的工具),这是最简单的,直接用sql语句修改mysql数据库库的user表,不过别忘了使用PASSWORD函数,插入用户用Insert命令,修改用户用Uplinuxjishu/14052.html target=_blank class=infotextkey>date命令,删除用Delete命令。在本节后面有数据表user字段的详细介绍。 

方法二 使用mysqladmin。输入:
 

复制代码 代码示例:
mysqladmin -u root -p oldpassword newpasswd 

执行这个命令后,需要输入root的原密码,这样root的密码将改为newpasswd。同样,把命令里的root改为你的用户名,你就可以改你自己的密码了。

当然如果你的mysqladmin连接不上mysql

server,或者你没有办法执行mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。 

下面的方法都在mysql提示符下使用,且必须有mysql的root权限: 

方法三 
 

复制代码 代码示例:

mysql> INSERT INTO mysql.user (Host,User,Password) VALUES

('%','system', PASSWORD('manager'));

mysql> FLUSH PRIVILEGES 

这是在增加一个用户,用户名为system,密码为manager。注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES来执行确认。 

方法四和方法三一样,只是使用了REPLACE语句
 

复制代码 代码示例:

mysql> REPLACE INTO mysql.user (Host,User,Password)

VALUES('%','system',PASSWORD('manager'));

mysql> FLUSH PRIVILEGES