如何关闭mysql 远程用户名和密码_msyql用户密码修改及关闭/限制MYSQL用户远程访问的权限...

学院服务器中毒了,所以重新搭建了服务器。

使用 mysqladmin 命令行 修改 用户名密码的方式。最正确的格式如下:

D:/mysql/bin>mysqladmin -u root -p password 123456

提示Enter password:输入这个命令后,需要输入root的原密码,然后root的密码将改为123456。如果你是第一次登陆还没修改过密码,直接回车就可以了。

这是 root 密码就修改成了  123456 。

不要使用下面这种格式,否则密码就修改成了 '123456' 这个8位字符,而不是6位的了。

D:/mysql/bin>mysqladmin -u root -p password '123456'

还有一种就是用SET PASSWORD 命令修改:

mysql> set password for root@'localhost' = password('新密码');

Query OK, 0 rows affected (0.02 sec)

--------------------------------------

但是当远程连接是报错:

(mysql) :"xxx.xxx.xxx.xxx" is not allowed to connect to this mysql server

解决方案:

1. 进入mysql

2. 对远程连接授权:使用GRANT命令对远程连接授权, 之后刷新MySQL授权缓存.

[sql]

GRANT ALL PRIVILEGES ON *.* TO ‘UserName’@'Domain||IP’ IDENTIFIED BY ‘Password’;

FLUSH PRIVILEGES;

[/sql]

格式:grant 权限 on 数据库名.表名 用户名@客户IP identified by "客户密码";

mysql>grant select,insert,update,delete on *.* to admin@'%' identified by '123456';

新加的用户admin,其host为%,表示任何IP都可以连接进来.

如果希望开放所有权限的话请执行:

mysql>update user set select_priv='Y' , Insert_priv='Y', Update_priv='Y', delete_priv='Y', Create_priv='Y', Drop_priv='Y',Reload_priv='Y', shutdown_priv='Y', Process_priv='Y', File_priv='Y', Grant_priv='Y', references_priv='Y',Index_priv='Y', Alter_priv='Y', Show_db_priv='Y', Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y', Execute_priv='Y',Repl_slave_priv='Y',Repl_client_priv='Y' where user='[username]';

即:grant all privileges on *.* to admin@'%' indentified by '123456';

3.完事要flush一下,

才可以,这样可以避免重新启动mysql:

flush privileages;

注意概念:

host = localhost 的时候,表示登陆者是本机

host = 192.168.51.139 表示登陆者是该IP

当本机(localhost)就是192.168.51.139这个IP的时候,两者意义是不一样的

host = localhost 表示登陆本机,不属于其他客户机远程登陆,权限是服务器权限

host = 192.168.51.139 虽然等于localhost,但mysql将其理解为客户机远程登陆,所以想登陆服务器的话,作为客户机,必须由服务器用户(localhost的root)给予权限

eg: mysql> grant select,insert,update,delete on *.* to admin@192.168.51.139 identified by '123456';


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