在mysql8.0中的配置文件中默认是没有绑定地址的,但是可以自己配置,在my.cnf中 这里使用另一种方式: 首先先连接到自己的数据库执行: use mysql; select host,user from user; 在这里你会看到root用户的默认host是localhost,然后我们执行: update user set host='%' where user='root'; 将root的host改为% 代表可以远程连接,执行到这里你先测试一下在navicat能否连接上 使用navica
1.关掉防火墙 2.检查3306端口是否开放 3.修改用户用户权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;#赋予用户远程连接权限 flush privileges; #刷新一下权限,不用重启
环境:mysql6.0 .Navicat Premium 用户名:root 密码:123456 本地连接无问题 远程连接mysql的时候应该碰到Navicat Premium 报错. 错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server (无法给远程连接的用户权限问题) 查看问题:
对于我们刚开始安装的mysql或者mariadb来说,默认是不开启远程连接的.所以需要我们手动开启远程连接的权限.如果你是使用docker安装mysql那需要先进入容器中,这里就不讲如何进入容器了,百度一堆 登录mysql mysql -u root -p Enter password: 如果刚安装没有设置密码的话就直接回车 切换到mysql这个数据库use mysql; 修改root的host为% update user set host = '%' where user = 'root';
mysql8和原来的版本有点不一样,8的安全级别更高,所以在创建远程连接用户的时候, 不能用原来的命令(同时创建用户和赋权): mysql>grant all PRIVILEGES on *.* to guaiyouyisi@'%' identified by '123456'; 必须先创建用户(密码规则:mysql8.0以上密码策略限制必须要大小写加数字特殊符号): mysql>create user guaiyouyisi@'%' identified by 'Guaiyouyisi.
之前一直用mysql5.6 远程授权登录,后来换mysql8.0原来的授权方式报错 mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versio
查看登录用户 mysql> select host,user,password from user; 想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可. 这里有多个root,对应着不同场景.(后期研究为什么mysql表有多个root) 给远程连接授权 mysql> use mysql; Database changed mysql> grant all privileges on *.* to root@'%' identified by "root";
在用Navicat for MySQL远程连接mysql的时候,出现了 Lost connection to MySQL server at ‘reading initial communication packet', system error: 0 好恶心,服务器重启了一次,就一上午都是在处理mysql的各种问题. 第一步:找到:my.cnf文件 其实我也不知道在哪里,用指令帮我们找吧. find / -name my.cnf 找到了后. 第二步:vi my.cnf vi my.cnf 在m
命令行登陆: mysql -u root -p 不行的话可以从MySql.exe进入,找到Mysql根目录中路径类似:"MySQL\bin\mysql.exe",这样: D:\Website\www\MySQL\bin\mysql.exe -u root -p 登陆会提示输入root的密码,如图: 输入密码成功后输入以下命令开启远程连接: grant all privileges on *.* to root@'%' identified by '123'; flush privile
原文 问题现象 mysql 安装完毕,本机登录正常,在远程输入正确账号密码登录连接时报错如下 问题原因 远程IP没有登录权限,root用户默认只能在localhost也就是只能在本机登录,需要设置允许其他IP登录权限. 解决方案 1. 在服务器内部登录数据库,然后执行 grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; 此语句意思是给root用户在任何IP都可以登录数据库,操作任何