mysql远程连接 Host * is not allowed to connect to this MySQL server

ocalhost改成%

进入mysql的BIN目录

 代码如下复制代码

mysql -u root -p

mysql>use mysql;

mysql>update user set host =’%'where user =’root’;

mysql>flush privileges;

具体分析

1、在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。

 代码如下复制代码
mysql>
mysql>use mysql;
mysql>select 'host' from user where user='root';     

   #查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

 代码如下复制代码
mysql>update user set host = '%' where user ='root';

#修改host值(以通配符%的内容增加主机/IP地址,当然也可以直接增加某个特定IP地址,如果执行update语句时出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 错误,需要select host from user where user = 'root';
查看一下host是否已经有了%这个值,如果有了直接执行下面的flush privileges;即可)

 代码如下复制代码

mysql>flush privileges;
mysql>select host,user from user where user='root';
mysql>quit



  安装好mysql后修改密码发生:#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client 错误。

     原因:

升级客户端 
新版本的mysql使用了新的密码验证方法 
设置mysql密码时使用old_password可以解决这个问题

        解决方法如下:


     方法一:

mysql> SET PASSWORD FOR
         -> 'some_user'@'some_host' = OLD_PASSWORD('新密码');

     方法二:

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('新密码')
        -> WHERE Host = 'some_host' AND User = 'some_user';

  mysql> FLUSH PRIVILEGES;

注:

some_user:表示当前出错的用户ID,例如:root;

some_host:表示当前主机,例如:localhost;




 Mysql Docker下载地址

docker pull hub.c.163.com/library/mysql:latest 
启动数据库

docker run -i -t -d -p 3306:3306 -p 8080:80 d5127813070b /bin/bash

mysql应用在/var/lib/mysql下


mysql -u root -p
mysql> use mysql; 
mysql> update user set password=password('123') where user='root' and host='localhost'; 
mysql> flush privileges; 
update user set host ='%'where user ='root';


方法1: 用SET PASSWORD命令 
首先登录MySQL。 
格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('123'); 

方法2:用mysqladmin 
格式:mysqladmin -u用户名 -p旧密码 password 新密码 
例子:mysqladmin -uroot -p123456 password 123 

方法3:用UPDATE直接编辑user表 
首先登录MySQL。 
mysql> use mysql; 
mysql> update user set password=password('123') where user='root' and host='localhost'; 
mysql> flush privileges; 


转载地址:https://blog.csdn.net/hanghangaidoudou/article/details/70207769

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值