无法远程登入MySQL数据库的几种解决办法
远程数据库连接权限以及MySQL 'root'@'localhost'无法登录
然后#mysql -u root -p xxxx,登录成功!
查了一下mysql -h localhost和mysql -h 127.0.0.1的区别,通过localhost连接到mysql是使用UNIX socket,而通过127.0.0.1连接到mysql是使用TCP/IP。看看状态:
mysql -h localhost > status
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
1、打开防火墙配置文件
vi /etc/sysconfig/iptables
2、增加下面一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3、重启防火墙
service iptables restart
COMMIT
mysql -u root Байду номын сангаасp
2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
Centos7下无法远程连接mysql数据库的原因与解决
Centos7下⽆法远程连接mysql数据库的原因与解决前⾔最近在⼯作中遇到⼀个问题,发现在Centos7系统下怎么也不能远程连接mysql,通过查找相关的资料,终于解决了,以下⽅法就是我在碰到远程连接不到Mysql数据库后试过的⽅法,最终也是解决掉了问题。
所以总结⼀下分享出来,供同样遇到这个问题的朋友们参考学习,下⾯话不多说了,来⼀起看看详细的介绍吧。
有两种原因数据库没有授权服务器防⽕墙没有开放3306端⼝⼀、数据库没有授权对于mysql数据库没有授权,只需要⽤⼀条命令就可以了。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;//远程连接数据库的时候需要输⼊⽤户名和密码⽤户名:root密码:123456指点ip:%代表所有Ip,此处也可以输⼊Ip来指定Ip输⼊后使修改⽣效还需要下⾯的语句mysql>FLUSH PRIVILEGES;⼆、服务器防⽕墙没有开放3306端⼝centos 有两种防⽕墙 FirewallD和iptables防⽕墙centos7 使⽤的是FirewallD防⽕墙。
FirewallD 是 iptables 的前端控制器,⽤于实现持久的⽹络流量规则。
它提供命令⾏和图形界⾯,在⼤多数 Linux 发⾏版的仓库中都有。
与直接控制 iptables 相⽐,使⽤ FirewallD 有两个主要区别:1.FirewallD 使⽤区域和服务⽽不是链式规则。
2.它动态管理规则集,允许更新规则⽽不破坏现有会话和连接。
FirewallD 是 iptables 的⼀个封装,可以让你更容易地管理 iptables 规则 - 它并不是 iptables 的替代品。
虽然 iptables 命令仍可⽤于 FirewallD,但建议使⽤ FirewallD 时仅使⽤ FirewallD 命令。
sqlyog for MySQL远程连接的时候报错mysql 1130的解决方法
通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到。
错误代码是1130,ERROR 1130: Host X.X.X.X is not allowed to connect to this MySQL server猜想是无法给远程连接的用户权限问题。
结果这样子操作mysql库,即可解决。
在远程服务器登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
下面是用SQL语句解决问题:mysql -u root -pmysql;use mysql;mysql;select host from user where user='root' and host='lcoalhost;mysql;update user set host = '%' where user ='root' and host='lcoalhost';mysql;flush privileges;mysql;select host from user where user='root';第一句是以权限用户root登录第二句:选择mysql库第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址第五句:刷新MySQL的系统权限相关表第六句:再重新查看user表时,有修改。
重起mysql服务即可完成。
mysql无法远程连接10038错误的坑(阿里云ecs)
mysql⽆法远程连接10038错误的坑(阿⾥云ecs)为什么有这篇博客 昨天购买了阿⾥云的ecs服务器,通过xshell安装了docker,然后在docker环境中安装mysql,版本是8.0.21。
开始⼀切顺利,在服务器环境中能正常执⾏各种命令。
结果在使⽤navicat远程连接服务器mysql时卡住了,以下就是从卡住到解决的过程,希望能帮助到同样遇到这个问题的⼈。
问题根源 先说结论,由于是阿⾥云新实例,控制台未设置规则,远程⽆法访问3306这个端⼝,导致了客户端远程连接出现10038这个错误。
排查过程mysql登录先确定是否能正常在服务器上登录mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 9Server version: 8.0.21 MySQL Community Server - GPL很显然登录成功,能正常操作show databases;这样的命令mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.00 sec)创建数据库然后尝试创建数据库mysql> create database test;Query OK, 1 row affected (0.00 sec)mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys || test |+--------------------+5 rows in set (0.00 sec)mysql> use test;Database changedmysql> show tables;Empty set (0.00 sec)⾛到这⼀步也没有⽤任何问题root⽤户远程登录是否授权mysql> use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select User,authentication_string,Host from user;+------------------+------------------------------------------------------------------------+-----------+| User | authentication_string | Host |+------------------+------------------------------------------------------------------------+-----------+| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | % || schema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost | | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost | | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost || root | $A$005$byLhU'ict_qEg}A4pO6IUms8wmp1NNgUG2a.27n8HIPq..p5zMeDrtqF3 | localhost |+------------------+------------------------------------------------------------------------+-----------+5 rows in set (0.00 sec)通过图表看到有2个root账户,⼀个本地连接localhost ,⼀个%代表可以远程连接。
远程连接数据库时出现问题及解答
1.远程连接数据库时出现如图所示错误2.打开cmd窗口输入telnet 192.168.1.250 弹出,然后输入telnet 192.168.1.250 3306 (3306为远程数据库端口号)(telnet IP PORT 此命令为连接远程服务器)3.出现此问题的原因是服务器的3306端口号被防火墙阻止了,不允许访问。
所以要登录服务器端开放3306的端口。
(以下以WIN7为例)进入“控制面板\所有控制面板项\Windows 防火墙”点击“高级设置”进入“高级安全windows 防火墙”页面。
选择“入站规则”右击,弹出菜单选择“新建规则”如图选择“端口”点击“下一步”在如下这里选择允许访问的网络,点击“下一步”页面的名称是用来标识这个端口的作用的,如下图点击“完成”,开放防火墙端口成功。
开放完端口再次连接数据库,弹出错,这个错误是因为权限的问题,登录服务器端,新增一个用户,给开放权限即可。
5.增加允许远程连接MySQL 用户并授权。
1)首先以root 帐户登陆MySQL在Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,MySQL 的bin 目录下,然后输入下面的命:123456 为root 用户的密码。
2)创建远程登陆用户并授权上面的语句表示将discuz 数据库的所有权限授权给ted 这个用户,允许ted 用户在123.123.123.123 这个IP 进行远程登陆,并设置ted 用户的密码为123456 。
下面逐一分析所有的参数:all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。
discuz.* 表示上面的权限是针对于哪个表的,discuz 指的是数据库,后面的* 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。
解决远程连接mysql错误1130代码的方法
说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。
需更改 mysql 数据库里的 user表里的 host项
把localhost改称%
首先按下面的步骤登录Mysql服务器
登录mysql需要切换到dos下的mysql的bin目录,进行如下操作:
语法格式:mysql -h host_name -u user_name -p password (本机的话-h 和host_name可省)
mysql>quit
退出后会回到DOS正常的提示符状态,此时可以通过远程连接Mysql了!
========================================
MySQL 用户帐号的修改 error 1130
2007-09-07 09:18
MySQL上的一个数据库要备份,装了个MySQL的gui工具。打开"MySQL Administrator"工具,填好用户名和密码却登录不了,老是报这个错“ERROR 1130: Host 'lijuan-' is not allowed to connect to this MySQL server”。网上查了下,有这两个方法解决:
二、登录成功后可ysql;
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host','user' from user where user='root';
mysql 开启远程连接的三种方法
方法一样给mysql开启远程连接功能?首先链接本机的mysql(用ssh登录终端,输入如下命令):mysql -uroot -p输入密码登陆进去后,输入如下的语句,执行。
grant all privileges on *.* to ‘user‘@’%‘identified by ‘password‘with grant option; 其中,user是用户名,mysql默认的是root ,password是密码自己设置。
%表示任意主机。
这样就允许远程任意一台主机访问了。
方法二开启mysql远程功能方法如下:进入mysql,创建一个新用户itbc:格式:grant 权限on 数据库教程名.表名用户@登录主机identified by "用户密码";grant select,update,insert,delete on *.* to itbc@192.168.88.234 identified by "itbc1234";查看结果,执行:use mysql;select host,user,password from user;可以看到在user表中已有刚才创建的itbc用户。
host字段表示登录的主机,其值可以用ip,也可用主机名,将host字段的值改为%就表示在任何客户端机器上能以itbc用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’where user = ’itbc’;方法三mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问.我的mysql环境是ubuntu+mysql51.修改/etc/mysql/my.conf,修改bind-address,指定为本机实际ip地址,你的my.con修改完大概是如下的样子[mysqld]## * basic settings#default-character-set=utf8default-storage-engine=innodbbind-address = 192.168.1.107user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usrdatadir = /var/lib/mysqltmpdir = /tmplanguage = /usr/share/mysql/englishskip-external-locking2.用root登陆mysql执行如下命令grant all on sonardb.* to sonar@'%' identified by '123456';grant all on sonardb.* to sonar@localhost identified by '123456';sonardb替换为你想访问的数据库名,sonar是你的想使用的用户名,123456替换为你的密码,这样就开启了远程访问功能.。
使用MySQL进行远程访问与连接配置
使用MySQL进行远程访问与连接配置导语:MySQL作为一种常用的关系型数据库管理系统,提供了强大的功能和灵活的配置选项。
本文将重点讨论如何通过MySQL进行远程访问与连接配置,为读者提供相关知识与实践指导。
一、MySQL远程访问的概念与原理MySQL默认情况下只允许本地连接,即只能通过本地主机访问MySQL数据库。
这是出于安全考虑,以防止未经授权的访问和潜在的安全风险。
但在某些场景下,我们需要通过远程连接来访问MySQL数据库,比如多服务器环境下的数据共享,或者开发人员需要从自己的工作站连接到远程服务器进行开发和调试。
为了实现MySQL的远程访问,我们需要进行一些配置。
首先,需要在MySQL服务器上进行相应的配置,允许远程连接。
其次,需要在客户端上配置连接参数,以便正确地连接到远程MySQL服务器。
二、MySQL服务器远程连接配置1. 修改bind-address参数在MySQL服务器上,打开mysql配置文件(一般为/etc/mysql/mysql.conf.d/f),找到bind-address参数所在行,并将其值修改为0.0.0.0。
这将使MySQL服务器绑定到所有可用的网络接口,并允许来自任何IP地址的远程连接。
2. 授权远程访问打开MySQL服务器的命令行客户端,输入管理员权限的用户名和密码登录。
执行以下命令来创建一个新的MySQL用户并授予其远程访问的权限:```CREATE USER '用户名'@'远程IP地址' IDENTIFIED BY '密码';GRANT ALL PRIVILEGES ON *.* TO '用户名'@'远程IP地址' WITH GRANT OPTION;FLUSH PRIVILEGES;```其中,'用户名'和'密码'分别是你想要创建的新用户的用户名和密码,'远程IP地址'是允许访问的远程客户端的IP地址。
解决navicat远程连接mysql报错10038的问题
解决navicat远程连接mysql报错10038的问题⽬录⼀:本地防⽕墙问题⼆:服务器3306端⼝未打开navicat远程连接mysql报错10038⼀般由以下两个原因:⼀:本地防⽕墙问题在本地安装了mysql、navicat并打开了mysql服务的情况下,来设置防⽕墙。
⾸先右击或者点击⼊站规则,找到新建规则,点击。
点击端⼝。
在特定本地端⼝中填⼊3306.⼀直点击下⼀步。
这⾥可以给⼀个好分别的名称即可。
之前再尝试连接即可,若仍然不可以,可能是服务器⽅⾯的问题。
⼆:服务器3306端⼝未打开⾸先需要在安全组开放端⼝。
我这⾥使⽤的是阿⾥云服务器。
⾸先需要进⼊云服务器,找到安全组。
进⼊⾥⾯找到配置规则。
然后进⾏快速添加,添加3306端⼝即可。
之后同样在云服务器下再进⼊实例列表,点击远程连接,进⼊服务器终端。
然后在命令⾏输⼊firewall-cmd --query-port=3306/tcp若这⾥显⽰的是no,那么需要让防⽕墙开启3306端⼝:1.开启端⼝3306firewall-cmd --zone=public --add-port=3306/tcp --permanent2.重启防⽕墙firewall-cmd --reload查看已经开放的端⼝firewall-cmd --list-ports接着需要让mysql开启远程访问权限:1.登陆mysql (若遗忘数据库密码,往下看)mysql -u root -p2.设置访问地址(本⼈实际操作的时候并没有设置就可以连接成功了)如果你想允许⽤户root从ip为192.168.1.123的主机连接到mysql服务器,并使⽤root作为密码GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123'IDENTIFIED BY 'password' WITH GRANT OPTION;3.刷新flush privileges;如果在上⾯第1步登陆mysql的时候遗忘了密码,可以进⾏以下操作。
Navicat出现无法远程连接MySql服务器问题的解决办法
Navicat出现⽆法远程连接MySql服务器问题的解决办法Navicat⽆法远程连接MySql服务器问题的解决⽅法写在前⾯:操作系统:中标麒麟4.0;数据库:MySQL5.7.26;JDK:采⽤中标麒麟系统⾃带的openjdk;客户端⼯具:Navicat;前置条件:MySQL服务安装完毕;情景:安装好mysql,本地访问正常,但同⼀个局域⽹内的机器都⽆法访问该服务器上的mysql数据库;原因:mysql默认是不可以通过远程机器访问的,只允许本地访问,通过下⾯的配置可以开启远程访问;排查思路:mysql设置远程访问主要从以下三个⽅⾯去检测:⾸先检查⽹络,两台计算机之间必须能ping通,这是基础;第⼆:检测3306端⼝,对于端⼝只允许本机访问,有两个地⽅启⽤,⼀个是mysql配置绑定本机地址,另⼀个就是防⽕墙启⽤3306;第三:mysql⽤户访问权限的问题。
根据思路逐⼀排查1.⽹络检测:ping mysql所在主机的ip地址看是否能ping通,如果能ping通,说明不是⽹络的问题;我的可以ping通,说明不是⽹络的问题;2.端⼝检测:检测3306端⼝:netstat -ntpl | grep 3306,如图:检测22端⼝:netstat -ntpl | grep 22,如图:综上可以看出22端⼝监听所有地址,⽽3306端⼝只监听了本地地址,所以远程⽆法访问。
对于端⼝只允许本机访问,有两个地⽅启⽤,⼀个是防⽕墙启⽤3306,另⼀个就是mysql配置绑定本机地址。
所以Navicat⽆法连接远程MySQL这个问题我们找到问题所在了,我们只需将3306端⼝允许远程访问即可;解决办法:⼀般情况下,我们只需要去修改/etc/mysql/f配置⽂件即可,将f配置⽂件中的bind-address=127.0.0.1改成bind-address=0.0.0.0,并且把skip-networking注释掉即可;但是我的f配置⽂件中并没有bind-address=127.0.0.1和skip-networking这两⾏代码,我就⾃⼰加上了bind-address=0.0.0.0这⾏代码,以为会好使,重启系统后,结果,并没有卵⽤再次检测3306端⼝,发现还是只允许本地访问,就在我百思不得其解的时候,配置⽂件中的⼀句注释引起了我的注意~此处有惊喜,问题马上就可以解决了 > . <然后我们再去看/etc/mysql/f配置⽂件,发现了⼀句话,如图:“从以下配置⽬录导⼊所有的以.cnf结尾的⽂件”,啧啧啧,有没有种恍然⼤悟的感觉?也就是说address=127.0.0.1这⾏配置没有在f配置⽂件中配置,可能在那两个⽬录下的某⼀个配置⽂件中配置了,所以我们就去找找看看呗,⽆论如何得把“address=127.0.0.1”这⾏代码找到。
解决Navicat无法连接到MySQL的问题
解决Navicat⽆法连接到MySQL的问题
解决Navicat⽆法连接到MySQL的问题
问题⼀:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。
于是下⾯开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限。
这⾥开启权限,要在远程数据库服务器上开:
解决办法:
1、⾸先在远程服务器上连接进⼊mysql,在cmd中输⼊mysql -u root -p,然后回车,输⼊密码后回车进⼊mysql命令⾏。
2、输⼊下⾯命令,授权所有的客户端都可以访问服务器的权限,下⾯的‘123456’为你数据库的实际密码,记得修改:
grant all privileges on *.* to root@'%' identified by '123456';
3、输⼊下⾯命令,刷新权限
flush privileges;
4、进⼊相应⽬录修改ssh_config和sshd_config⽂件
cd /etc/ssh
vi ssh_config
将 #PasswordAuthentication yes改为 PasswordAuthentication yes,我们去掉了它前⾯的#
编辑sshd_config 做同样的去掉‘#’操作
5、然后重新启动mysql服务
/etc/init.d/mysqld restart
这⾥如果加⼊了服务,就直接可以⽤service。
mysql 登录失败处理技术
mysql 登录失败处理技术当MySQL 登录失败时,可以采用以下几种处理技术:1. 检查用户名和密码:首先确保您输入的用户名和密码是正确的。
用户名和密码是区分大小写的,因此请确保大小写正确。
2. 检查主机名或IP 地址:确保您输入的主机名或IP 地址是正确的。
如果主机名或IP 地址不正确,MySQL 将无法与您的客户端建立连接。
3. 检查MySQL 服务状态:确保MySQL 服务正在运行,并且您的客户端可以访问它。
您可以在命令行中使用`service mysql status`(在Linux 上)或`sc query mysql`(在Windows 上)来检查MySQL 服务的状态。
4. 检查防火墙设置:如果您的MySQL 服务器运行在不同的机器上,请确保防火墙允许您的客户端与MySQL 服务器的端口进行通信。
MySQL 默认使用3306 端口,因此请确保该端口在防火墙中打开。
5. 检查MySQL 用户权限:如果您确信用户名、密码、主机名和IP 地址都是正确的,并且MySQL 服务正在运行,那么可能是MySQL 用户权限的问题。
您可以登录到MySQL 服务器,并使用以下命令检查用户的权限:SHOW GRANTS FOR 'your_username'@'your_host';将`your_username'@'your_host' 替换为您的用户名和主机名,然后查看返回的权限列表。
如果没有返回任何权限,那么用户可能没有登录的权限。
在这种情况下,您需要联系数据库管理员,以请求适当的权限。
6. 检查MySQL 日志文件:如果上述方法都不能解决问题,您可以检查MySQL 的日志文件以获取更多详细信息。
日志文件通常位于/var/log/mysql/error.log(在Linux 上)或C:\mysql\data\error.log(在Windows 上)。
通过NavicatforMySQL远程连接的时候报错mysql1130的解决方法
通过NavicatforMySQL远程连接的时候报错mysql1130的解决⽅法Navicat for mysql 1130错误⽤Navicat连接远程MYSQL,提⽰如下错误,我以为是⾃⼰的防⽕墙问题,但是关了,依然不⾏。
我认为这段英⽂,有点误导,让⼈感觉是⾃⼰这边出了问题。
看解决⽅法吧ERROR 1130: Host '192.168.1.3' is not allowed to connect to thisMySQL server解决⽅法:1。
改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。
这个时候只要在localhost的那台电脑,登⼊mysql后,更改"mysql" 数据库⾥的 "user" 表⾥的 "host"项,从"localhost"改称"%"mysql -u root -pvmwaremysql>usemysql;mysql>update user set host = '%' where user ='root';mysql>select host, user from user;2.授权法。
例如,你想myuser使⽤mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY 'mypassword' WITHGRANT OPTION;如果你想允许⽤户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使⽤mypassword作为密码GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY'mypassword' WITH GRANT OPTION;⽅法⼆:错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是⽆法给远程连接的⽤户权限问题给⽤户授权我⽤的⽤户是root 密码123456⾸选语法为:Sql代码GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;⽰例:Sql代码GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;执⾏完后,再mysql:flush privileges;刷新⼀下权限就可以了,不⽤重启完整操作:开始->运⾏->cmdcd\cd mysql安装⽬录\binmysql -u root -p123456;mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;mysql flush privileges;作者 heisetoufa。
mysql解决无法远程连接
设置mysql远程连接root权限在远程连接mysql的时候应该都碰到过,root用户无法远程连接mysql,只可以本地连,对外拒绝连接。
需要建立一个允许远程登录的数据库帐户,这样才可以进行在远程操作数据库。
方法如下:默认情况下MYSQL数据库的系统数据库mysql系统表user内用户权限只提供localhost本机登陆;需要更改权限才能实现远程连接MYSQL数据库。
可以通过以下方式来确认:root#mysql -h localhost -uroot -pEnter password: ******Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 4 to server version: 4.0.20a-debugType ‘help;’or ‘\h’for help. Type ‘\c’to clear the buffer.mysql> use mysql; (此DB存放MySQL的各种配置信息)Database changedmysql> select host,user from user; (查看用户的权限情况)mysql> select host, user, password from user;+-----------+------+-------------------------------------------+| host | user | password |+-----------+------+-------------------------------------------+| localhost | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 || 127.0.0.1 | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 || localhost | | |+-----------+------+-------------------------------------------+4 rows in set (0.01 sec)由此可以看出,只能以localhost的主机方式访问。
mysql局域网如何开启远程连接
mysql局域网如何开启远程连接
大家在公司工作中,经常会遇到mysql数据库存储于某个人的电脑上,大家要想连接mysql服务,装有mysql服务的电脑就必须开启远程连接。
下面是店铺跟大家分享的是mysql局域网如何开启远程连接,欢迎大家来阅读学习。
mysql局域网如何开启远程连接
工具/原料
mysql
windows
方法/步骤
使用“Ctrl + R”组合键快速打开cmd窗口,并输入“cmd”命令,打开cmd窗口。
使用“mysql -uroot -proot”命令可以连接到本地的mysql服务。
使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。
使用“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;”命令可以更改远程连接的设置。
使用“flush privileges;”命令刷新刚才修改的权限,使其生效。
6使用“select host,user from user;”查看修改是否成功。
配置mysql允许远程连接的方法
默认情况下mysql只允许本地登录如果要开启远程连接则Βιβλιοθήκη 要修改etcmysqlmyconf文件
配置 mysql允许远程连接的方法
默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。
一、修改/etc/mysql/my.conf 找到bind-address = 127.0.0.1这一行 改为bind-address = 0.0.0.0即可
2、支持root用户允许远程连接mysql数据库 grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; flush privileges;
三、查看系统用户
使用navicat连接远程linuxmysql数据库出现10061未知故障
使用 navicat连接远程 linuxmysql数据库出现 10061未知故障
使用使用navicat连接远程linux mysql数据库出现10061未知故障,如下
解决方案: 1.切换到root权限 2. 打开/etc/mysql/mysql.conf.d/f文件
3. 在bind-address=127.0.0.1前加#注释,或者直接删掉这行 4.保存关闭f文件,输入service mysql restart重启mysql数据库 此时再使用navicat重新连接,显示成功。 故障原因:默认状态下Mysql不允许除本机外的主机访问(SSH除外),修改f文件即可解决问题,但修改文件后可能会导致安全 问题,所以建议配置ufw防火墙。