localhost改成%
进入mysql的BIN目录(打开mysql文件夹,按住shift + 鼠标右键,以命令方式打开)
具体分析:
1、在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。
#查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
#修改host值(以通配符%的内容增加主机/IP地址,当然也可以直接增加某个特定IP地址,如果执行update语句时出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 错误,需要select host from user where user = 'root';
查看一下host是否已经有了%这个值,如果有了直接执行下面的flush privileges;即可)
安装好mysql后修改密码发生:#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client 错误。
原因:
升级客户端
新版本的mysql使用了新的密码验证方法
设置mysql密码时使用old_password可以解决这个问题
解决方法如下:
注:
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> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
进入mysql的BIN目录(打开mysql文件夹,按住shift + 鼠标右键,以命令方式打开)
代码如下:
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;