linux下mysql用户管理方法

发布时间:2020-04-20编辑:脚本学堂
本文介绍了linux系统中mysql用户管理的方法,包括mysql用户密码的创建与管理,开启远程用户访问的方法等,有需要的朋友参考下。

一、root用户密码的维护:
由于安装mysql完后,mysql会自动提供一个不带密码的root用户,为了安全起见给root设置密码:
 

复制代码 代码示例:
#mysqladmin -u root password 123 (123为密码,也可以写成:'123'或"123") ;

设置密码后登入时就不能直接输入mysql了,必须跟些参数:
 

复制代码 代码示例:
[root@localhost ~]# mysql -u root -p (-u 后跟登入的用户名,-p 提示要密码登入)
 enter password:(输入密码)

修改密码:
 

复制代码 代码示例:
[root@localhost ~] #mysqladmin -u root  -p  password  123456 (password 后跟的是要更新的新密码)
enter password:(输入原始密码,回车即可)

修改完密码之后,用root账号登陆,服务器地址为localhost,密码正确,会提示
error 1045: access denied for user: 'root@localhost' (using password: yes)错误?

原因:是因为修改密码之后root权限不够。

解决办法:
 

复制代码 代码示例:
mysql> grant all on *.* to root@'%' identified by '123456';
query ok, 0 rows affected (0.00 sec)

备注:给root用户在任何地址添加所有权限,密码是“123456”(这个是root用户的密码)
 
二、其他用户的增加和删除:
以root用户登入,在mysql中有一张mysql.user表是存储mysql中所有用户的信息表,所以可以直接增加删除这个表的记录就可增加和删除用户;
 
1,添加用户(有两种形式):
a,

复制代码 代码示例:
mysql> grant all on *.* to yushan@"%" identified by "123" ;
mysql>flush privileges; (刷新系统权限表)

(执行完会在mysql.user表插入一条记录,all表示所有权限(包括增 删 改 查等权限), *.* 表示所有数据库,yushan为添加的用户名,123为密码,%为匹配的所有主机,上面的信息都可以指定如grant select,update on db.* to yushan@localhost identified by '123";)
 
b,直接对mysql.user添加一条记录
 

复制代码 代码示例:
mysql> insert into mysql.user(host,user,password) values(‘localhost’,‘yusuhan’,password(‘123’));
mysql>flush privileges;

这样就创建了一个名为:yushan 密码为:123 (密码是经过加密的 ) 的用户,不过这样没有权限因为只添加了三个字段,也可通过grant添加权限:
 

复制代码 代码示例:
mysql>grant all  on *.* to yushan@localhost identified by '123";
mysql>flush privileges;(刷新系统权限表)

添加完用户 如果要远程登入mysql,必须跟上主机ip 如下:
 

复制代码 代码示例:
[root@localhost ~]# mysql -u yushan -p -h 192.168.59.123
enter password:(输入密码)

2,删除用户 :
 

复制代码 代码示例:
mysql>delete from mysql.user where user ='yushan' ;
mysql>flush privileges; (刷新系统权限表)

其他用户的密码修改与root的一样,在这里无论是添加或删除操作后都要执行:flush privileges;
特别是删除用户后,如果未执行,被删除的用户还可登入,以上都是在mysql root用户下操作,为了mysql的安全,应该给用户指定相应的权限。