MySQL数据库远程连接开启方法
解决远程连接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的方法主要有以下几种:1. 使用MySQL命令行工具连接:在命令行中输入`mysql -u 用户名-p`,然后输入密码即可连接到MySQL服务器。
2. 使用MySQL提供的图形化界面工具连接:MySQL提供了一些图形化界面工具,如MySQL Workbench、phpMyAdmin等,可以通过它们来连接MySQL 服务器。
3. 使用编程语言的MySQL驱动连接:各种编程语言都提供了与MySQL交互的驱动程序,可以通过编写代码来连接MySQL服务器。
例如,在Java中可以使用JDBC驱动,Python中可以使用PyMySQL、mysql-connector-python 等驱动。
下面是一个使用Python的PyMySQL模块连接MySQL的例子:import pymysql# 连接数据库conn = pymysql.connect(host='localhost', user='root',password='123456', database='test')# 创建游标对象cursor = conn.cursor()# 执行SQL语句sql = "SELECT * FROM user"cursor.execute(sql)# 获取结果result = cursor.fetchall()for row in result:print(row)# 关闭游标和连接cursor.close()conn.close()这是一个简单的连接和执行SQL语句的例子,具体的连接参数和SQL语句根据实际情况进行调整。
MySql远程连接设置(图文教程)
MySql远程连接设置(图文教程)MySql远程连接设置介绍:经常我们在安装完mysql之后,没有设置mysql远程连接的功能,有时侯我们需要在远程管理mysql服务器,就必须的远程连接mysql,所以我们就要用到如何启起mysql远程连接设置。
有多种方法,本文重点推荐第4种方法设置和开启mysql 远程连接功能--实现MySql远程连接设置多机授权或指定多ip或所有主机远程访问mysql1、先查看mysql是否启动ps -le |grep mysqld 查测一下mysql是否启动netstat -an |grep 3306 检测一下mysql 3306端口是否为监听状态。
/usr/local/mysql/bin/mysqladmin version 查看mysql的版本2、用root用户登陆mysql/usr/local/mysql/bin/mysql -u root -p 登陆mysql[root@WebSrv extra]# /usr/local/mysql/bin/mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 4Server version: 5.0.41-log Source distributionType 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql>3、实现MySql远程连接设置单机授机,或指定某个ip,或某个主机远程访问mysql 格式:grant 权限on 数据库名.表名to 用户@登录主机identified by "用户密码";grant select,update,insert,delete on *.* to root@192.168.1.3 identified by "hncctv";原先数据表结构mysql> use mysql;Database changedMysql>grant select,update,insert,delete on *.* to root@192.168.1.3 identified by "hncctv";mysql> select host,user,password from user;+-----------+------+-------------------------------------------+| host | user | password |+-----------+------+-------------------------------------------+| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |+-----------+------+-------------------------------------------+执行上述语句后结果mysql> use mysql;Database changedmysql> select host,user,password from user;+--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | 192.168.1.3 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |+--------------+------+-------------------------------------------+ 2 rows in set (0.00 sec)可以看到在user表中已有刚才创建的root用户。
Mysql开启远程连接方法
Mysql开启远程连接⽅法分类:数据库开发技术解决MySQL不允许从远程访问的⽅法开启 MySQL 的远程登陆帐号有两⼤步:1、确定服务器上的防⽕墙没有阻⽌ 3306 端⼝。
MySQL 默认的端⼝是 3306 ,需要确定防⽕墙没有阻⽌ 3306 端⼝,否则远程是⽆法通过 3306 端⼝连接到 MySQL 的。
如果您在安装 MySQL 时指定了其他端⼝,请在防⽕墙中开启您指定的 MySQL 使⽤的端⼝号。
如果不知道怎样设置您的服务器上的防⽕墙,请向您的服务器管理员咨询。
2、增加允许远程连接 MySQL ⽤户并授权。
1)⾸先以 root 帐户登陆 MySQL在 Windows 主机中点击开始菜单,运⾏,输⼊“cmd”,进⼊控制台,MySQL 的 bin ⽬录下,然后输⼊下⾯的命令。
在 Linux 主机中在命令提⽰⾏下输⼊下⾯的命令。
CODE:> MySQL -uroot -p123456123456 为 root ⽤户的密码。
2)创建远程登陆⽤户并授权CODE:> grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';上⾯的语句表⽰将 discuz 数据库的所有权限授权给 ted 这个⽤户,允许 ted ⽤户在 123.123.123.123 这个 IP 进⾏远程登陆,并设置 ted ⽤户的密码为 123456 。
下⾯逐⼀分析所有的参数:all PRIVILEGES 表⽰赋予所有的权限给指定⽤户,这⾥也可以替换为赋予某⼀具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间⽤“,”半⾓逗号分隔。
discuz.* 表⽰上⾯的权限是针对于哪个表的,discuz 指的是数据库,后⾯的 * 表⽰对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某⼀数据库的全部表授权为“数据库名.*”,对于某⼀数据库的某⼀表授权为“数据库名.表名”。
MySQL远程连接(federated存储引擎)
MySQL远程连接(federated存储引擎)标签:federated存储引擎概述本⽂主要介绍通过federated存储引擎建⽴远程连接表测试环境:mysql 5.6.21步骤开启federated存储引擎先查看federated存储引擎存储引擎是否启⽤SHOW ENGINES ;默认mysql是没有开启federated存储引擎,我这⾥因为已经配置了。
开启federated存储引擎只需要在f⽂件中增加‘federated’就可以。
创建远程连接表mysql配置远程连接必须在本地创建federated存储引擎的表,配置远程连接参数,本地创建的表必须和远程表的定义保持⼀致,这⾥我就拿本地另⼀个案例数据库来做测试,效果和远程是⼀样。
show create table sakila.actor;创建远程存储引擎表CREATE TABLE FEDERATED_actor (`actor_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,`first_name` varchar(45) NOT NULL,`last_name` varchar(45) NOT NULL,`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`actor_id`),KEY `idx_actor_last_name` (`last_name`)) ENGINE =FEDERATED CONNECTION='mysql://root:123456@127.0.0.1:3306/sakila/actor';注意:本地创建的表名必须在远程服务器存在,创建的字段也必须是远程表中的字段,可以⽐远程表的字段少,但是不能多,本地存储引擎选择:ENGINE =FEDERATED,CONNECTION选项中的连接字符串的⼀般形式如下:scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name还有⼀些连接字符串的例⼦:CONNECTION='mysql://username:password@hostname:port/database/tablename'CONNECTION='mysql://username@hostname/database/tablename'CONNECTION='mysql://username:password@hostname/database/tablename'注意:配置密码作为纯⽂本的话会存在安全问题,运⾏show create table,show table status是可以见的SELECT*FROM test.federated_actor;更新本地表USE test;update federated_actorset last_name='GUINESS1'where actor_id=1;SELECT*FROM test.federated_actor;SELECT*FROM sakila.actor;对本地进⾏更新操作,本地和远程的数据都被更改了。
Centos7下无法远程连接mysql数据库的原因是什么
Centos7下无法远程连接mysql数据库的原因是什么防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。
下面这篇文章主要给大家介绍了关于在Centos7下无法远程连接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 命令。
MYSQL的几种连接方法
MYSQL的几种连接方法MySQL是一种常用的关系型数据库管理系统,提供了多种连接方法来访问和操作数据库。
下面将详细介绍MySQL的几种连接方法:1.TCP连接:MySQL的默认连接方式是基于TCP/IP的连接。
当使用TCP连接时,客户端通过指定主机名或IP地址和端口号来连接到MySQL 服务器。
这种连接方式是最常见和最常用的方式,也是最安全和可靠的方式。
2. 命名管道连接:MySQL也支持通过命名管道(Named Pipe)来进行连接。
命名管道是一种在操作系统中用于进程间通信的机制,可以在客户端和服务器之间建立一个虚拟的传输通道。
在使用命名管道连接时,客户端和服务器需要在操作系统上创建一个相同的命名管道进行通信。
3. UNIX域套接字连接:UNIX域套接字(UNIX Domain Socket)是在UNIX或Linux系统上进行本地进程间通信的一种机制。
MySQL支持通过UNIX域套接字连接到服务器,这种连接方式是基于文件系统的,比TCP 连接更快速和高效。
4. SSH隧道连接:SSH隧道(SSH Tunnel)是一种通过安全外壳协议(SSH)在不安全网络上建立加密连接的方法。
用户可以通过SSH隧道连接到MySQL服务器,以增加安全性并防止网络攻击。
在使用SSH隧道连接时,用户需要在本地计算机上运行SSH客户端,并将SSH连接端口重定向到MySQL服务器的端口。
5. SSL连接:MySQL支持使用SSL(Secure Sockets Layer)协议进行安全连接。
当使用SSL连接时,数据在客户端和服务器之间通过加密传输,可以防止数据被窃听或篡改。
要启用SSL连接,需要在MySQL服务器上配置SSL证书和密钥,并在客户端上配置SSL选项。
除了以上几种连接方法,MySQL还提供了一些其他的连接选项和功能,如连接池、连接复用和持久连接等。
连接池可以提高连接的重用性和效率,连接复用可以减少连接的创建和关闭开销,而持久连接可以在客户端和服务器之间保持一个持久的连接状态,以避免频繁的连接和断开操作。
MySQL远程连接不上的解决方法
MySQL远程连接不上的解决⽅法之前遇到过MySQL本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服务器上⼜遇到这个问题,记录⼀下解决过程。
1.排除⽹络或防⽕墙问题先看是否能ping通远程服务器,ping 192.168.1.211,如果不可以就是⽹络问题。
然后,检查端⼝是否被防⽕墙挡住了,telnet 192.168.1.211 3306,如果连接失败,配置防⽕墙。
配置防⽕墙,开启3306端⼝vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端⼝通过防⽕墙)/etc/init.d/iptables restart(重启防⽕墙使配置⽣效)2.检查MySQL配置如果开启了防⽕墙,telnet还是失败,通过netstat查看3306的端⼝状态:netstat -apn|grep 3306tcp6 0 0 127.0.0.1:3306 :::* LISTEN 13524/mysqld注意地⽅,这说明3306被绑定到了本地。
检查⼀下f的配置,这⾥可以配置绑定ip地址。
bind-address=addr不配置或者IP配置为0.0.0.0,表⽰监听所有客户端连接。
ps:我开启3306端⼝,并且检查MySQL配置之后,telent仍然失败,但是在本机telnet是ok的,再三确认了配置没有问题。
后来跟我们的ucloud账号管理员提了⼀下,才知道ucloud管理后台也需要开启3306端⼝,⽤云服务器的留意这个。
3.检查⽤户访问权限MySQL建⽤户的时候会指定⼀个host,默认是127.0.0.1/localhost,那么这个⽤户就只能本机访问,其它机器⽤这个⽤户帐号访问会提⽰没有权限,host改为%,表⽰允许所有机器访问。
最后,别忘了重启mysql使配置⽣效。
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的远程登陆帐号,快来试试吧!
1、确定服务器上的防火墙没有阻止3306 端口。
MySQL默认的端口是3306 ,需要确定防火墙没有阻止3306端口,否则远程是无法通过3306 端口连接到MySQL 的。
如果您在安装MySQL 时指定了其他端口,请在防火墙中开启您指定的MySQL 使用的端口号。
如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询。
2、增加允许远程连接MySQL 用户并授权。
1)首先以root 帐户登陆MySQL
在Linux 主机中在命令提示行下输入下面的命令。
>; MySQL -uroot -p123456
CODE: [COPY]
>; MySQL -uroot -p123456
123456 为root 用户的密码。
在Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,MySQL 的bin 目录下,然后输入下面的命令。
2)创建远程登陆用户并授权
>; grant all PRIVILEGES on discuz.* toted@'123.123.123.123'identified by '123456';
上面的语句表示将discuz 数据库的所有权限授权给ted 这个用户,。
mysql授权用户远程链接详解
/archives/265mysql>GRANT ALL PRIVILEGES ON *.* TO username@"%" IDENTIFIED BY'your-user-password' WITH GRANT OPTION;其中username为用户名,your-user-password为密码这只是针对已存在的用户授权。
>grant insert,delete,update,select,drop,create on Test.* to Jacky@"%" identified by "pwd";MySQL修改root密码的各种方法整理整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助!方法1:用SET PASSWORD命令mysql -u rootmysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladminmysqladmin -u root password "newpass"如果root已经设置过密码,采用如下方法mysqladmin -u root password oldpass "newpass"方法3:用UPDATE直接编辑user表mysql -u rootmysql> use mysql;mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';mysql> FLUSH PRIVILEGES;在丢失root密码的时候,可以这样mysqld_safe --skip-grant-tables&mysql -u root mysqlmysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';mysql> FLUSH PRIVILEGES;/wz/article/14/21/2006/7379.htm向MySQL增加新用户权限不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。
docker中安装的mysql无法远程连接问题解决
docker中安装的mysql⽆法远程连接问题解决
背景:
在ubuntu1804的docker中安装了mysql,版本是5.7.34。
因为有复杂的数据要插⼊到数据库中,所以从宿主机通过pycharm和DBeaver连接,但是⼀直报错:Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
解决⽅法分为两步⾛
第⼀步:
修改mysql配置⽂件中的bind_address
vim /etc/mysql/mysql.conf.d/f
数据库不能远程访问多半是因为绑定了本地地址127.0.0.1.
第⼆步:
开启⽤户的远程访问权限。
以root⽤户为例。
如果⽤户没有远程访问权限则即使数据库能远程访问但因为⽤户权限限制也会失败。
开启远程访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
强制刷新权限:
flush privileges;
完成这两步就可以远程访问到docker中的数据库了。
Mysql开启远程访问权限
Mysql开启远程访问权限步骤⼀:登录数据库1 mysql -u root -pvmwaremysql>use mysql;步骤⼆:⼀. ⽅法⼀:更新mysql库下user表的root条⽬ 局域⽹段(特定IP):1 mysql>update user set host ='192.168.0.49'where user='root'; 全⽹访问:1 mysql>update user set host ='%'where user='root';⼆.⽅法⼆:直接添加⼀条语句也⾏ 局域⽹段(特定IP):1 mysql>insert into user (host,user,password) values('192.168.0.50','root',password('123')); 全⽹访问:1 mysql>insert into user (host,user,password) values('%','root',password('123')); 三. ⽅法三格式如下:1GRANT ALL PRIVILEGES ON*.*TO'myuser'@'%'IDENTIFIED BY'mypassword'WITH GRANT OPTION;范例: 局域⽹段(特定IP):1grant all privileges on*.*to'root'@'192.168.0.51'identified by'123'with grant option; 全⽹访问:1grant all privileges on*.*to'root'@'%' identified by'123'with grant option; 备注:by后⾯的' '⾥的密码可以与服务器端的密码不通,如root在服务器端是123456⽽by后⾯的密码可以是123。
mysql开启远程访问权限和被远程访问的方法
mysql主机服务器可远程访问账户的开启方法以及局域网内其他终端对其远程访问的多种途径mysql -u root -pmysql>use mysql;mysql>select host from user where user='root';mysql>GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '1111';mysql>flush privileges;mysql>select host from user where user='root';成功会提示:Query OK, 0 rows affected (0.00 sec)第一句是以权限用户root登录第二句:选择mysql库第三句:查看mysql库中的user表的host值。
查看root账户下是否存在host为%的值。
如果没有继续执行以下语句第四句:修改host值。
其中第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样*.*的话表示所有数据库下的所有表都允许访问;‘%’表示允许访问到mysql的ip 地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;后面到‘1111’为root 用户的password。
第五句:刷新MySQL的系统权限相关表第六句:再重新查看user表时,有修改。
重起mysql服务即可完成。
以上这些是网上搜集到,搜索了“远程访问mysql方法”就有,看完以后谁知道这想表达什么?实际上这是在主机服务器上授权root账户,让该服务器可以被其他终端远程通过root 账户来登陆的一种方法,为什么要做这些操作呢?因为mysql的默认设置不允许远程访问的终端使用root账户来登陆主机服务器。
现在连通常的访问方法都不知道,就给我搜出授权root账户这些乱七八糟重复的一大堆。
远程连接MySQL数据库报错:isnotallowedtoconnecttothisMYS。。。
远程连接MySQL数据库报错:isnotallowedtoconnecttothisMYS。
1. 改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。
这个时候只要在localhost的那台电脑,登⼊后,更改 "mysql" 数据库⾥的 "user"表⾥的 "host" 项,从"localhost"改称"%"mysql -u root -pmysql>use mysql;mysql>update user set host ='%'where user='root';mysql>select host, user from user; 注:个⼈觉得不太适⽤!【错误内容】:SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0【错产⽣经过】:链接MySQL时出现.【解决办法】:打开my.ini,找到[mysqld]项,在其后加⼊⼀句:skip-name-resolve,保存,重启mysql服务即可~以上就是解决MySQL Error (2013): Lost connection to MySQL server at waiting for initial communication packet的全⽂介绍,希望对您学习和使⽤数据库有所帮助.2. 授权法。
1)例如,你想myuser使⽤mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON*.*TO'myuser'@'%' IDENTIFIED BY'mypassword'WITH GRANT OPTION;FLUSH PRIVILEGES; 2)如果你想允许⽤户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使⽤mypassword作为密码GRANT ALL PRIVILEGES ON*.*TO'myuser'@'192.168.1.3' IDENTIFIED BY'mypassword'WITH GRANT OPTION;FLUSH PRIVILEGES; 3)如果你想允许⽤户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使⽤mypassword作为密码GRANT ALL PRIVILEGES ON dk.*TO'myuser'@'192.168.1.3' IDENTIFIED BY'mypassword'WITH GRANT OPTION;FLUSH PRIVILEGES; 我⽤的第⽅法1),最后执⾏⼀个语句 mysql>FLUSH RIVILEGES 使修改⽣效.就可以了 另外⼀种⽅法,不过我没有亲⾃试过的,在上找的,可以看⼀下. 在安装mysql的机器上运⾏:1、d:/mysql/bin/>mysql -h localhost -u root //这样应该可以进⼊MySQL服务器2、mysql>GRANT ALL PRIVILEGES ON*.*TO'root'@'%'WITH GRANT OPTION//赋予任何主机访问数据的权限3、mysql>FLUSH PRIVILEGES//修改⽣效4、mysql>EXIT//退出MySQL服务器 这样就可以在其它任何的主机上以root⾝份登录啦!。
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”这⾏代码找到。
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允许其他电脑远程访问
在实际应用中常常需要设置mysql,允许其他电脑远程访问,以便达到共享数据库的目的。
下面是店铺跟大家分享的是设置Mysql允许其他电脑远程访问,欢迎大家来阅读学习。
设置Mysql允许其他电脑远程访问
工具/原料
mysql
Windows
cmd
方法/步骤
打开mysql数据库,用root用户名登陆数据库。
查看数据库中名为mysql的数据库中user表的host、user、以及密码等,此时有user名为root的记录,如果想让远程电脑连接数据库,需添加一台user名为root,host为名“%”的记录,也可以再设置访问密码。
可以用cmd添加记录。
按住win+R键,回车,打开cmd
在cmd中输入如下红色框中的信息,每输入一行按下回车,完成后退出cmd即可。
在查看mysql,在mysql数据库的user表中会多出一条user名为root,host为“%”的记录,说明添加成功。
下面检验是否可以远程连接,可以在本机进行测试。
你可以打开eclipse,查看data source explorer中的任意数据库,单击右键选中properties中的driver properties,设置如图信息。
点击test connection,弹出如图信息,则设置正确。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MySQL数据库远程连接开启方法
发布:dxy 字体:[增加减小] 类型:转载
有时候需要远程连接mysql数据库,默认是不可以的,大家可以参考下面的方法,解决下。
第一中方法:比较详细
以下的文章主要介绍的是MySQL 数据库开启远程连接的时机操作流程,其实开启MySQL
数据库远程连接的实际操作步骤并不难,知识方法对错而已,今天我们要向大家描述的是
MySQL 数据库开启远程连接的时机操作流程。
1、d:\MySQL\bin\>MySQL -h localhost -u root
这样应该可以进入MySQL服务器
复制代码代码如下:
MySQL>update user set host = '%' where user = 'root';
MySQL>select host, user from user;
2、MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypas
sword' WITH GRANT OPTION
予任何主机访问数据的权限
3、MySQL>FLUSH PRIVILEGES
修改生效
4、MySQL>EXIT
退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦!
以上的相关内容就是对MySQL 数据库开启远程连接的介绍,望你能有所收获。
第二种方法:
1、在控制台执行mysql -u root -p mysql,系统提示输入数据库root用户的密码,输入完
成后即进入mysql控制台,这个命令的第一个mysql是执行命令,第二个mysql是系统数据名称,不一样的。
2、在mysql控制台执行GRANT ALL PRIVILEGES ON *.* TO ‘root'@'%' IDE NTIFIED
BY ‘MyPassword' WITH GRANT OPTION;
3、在mysql控制台执行命令中的‘root'@'%' 可以这样理解: root是用户名,%是主机名或
IP地址,这里的%代表任意主机或IP地址,你也可替换成任意其它用户名或指定唯一的I P地址;'MyPassword'是给授权用户指定的登录数据库的密码;另外需要说明一点的是我这里的都是授权所有权限,可以指定部分权限,GRANT具体操作详情见:http://dev.mysql.c om/doc/refman/5.1/en/grant.html
4、不放心的话可以在mysql控制台执行select host, user from user; 检查一下用户表里
的内容
您可能感兴趣的文章:
∙mysql 远程连接数据库的方法集合
∙PHP远程连接MYSQL数据库非常慢的解决方法
∙解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)。