当前位置:首页 » 密码管理 » mysql外网访问

mysql外网访问

发布时间: 2022-01-08 23:12:43

1. 怎样设置才能允许外网访问Mysql

设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:设置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;

重启mysql:/etc/init.d/mysql restart;

2:登录mysql数据库:mysql -u root -p
mysql> use mysql;

查询host值:
mysql> select user,host from user;

如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以执行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;

举例:

任意主机以用户root和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;

2. MySQL 外网连接

用外网连接不到 请问你是否给了权限呢?
GRANT ALL PRIVILEGES ON *.* TO 'username'@' %' IDENTIFIED BY 'password' WITH GRANT OPTION;
你先创建一个远程登录的账号
然后给它远程登录的权限
root默认是不支持远程登录的。
就是这样 呵呵 JDBC 这个里面 你输入远程登录的用户名跟密码 就好啦
谢谢。

3. 本地mysql 怎样设置,外网也可以访问

/etc/mysql/my.cnf 找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问; 重启mysql:/etc/init.d/mysql restart; 2:登录mysql数据库:mysql -u root -p mysql> use mysql; 查询host值: mysql> select user,host from ...

4. 局域网怎么做实现外网访问内网mysql数据库

默认情况下,mysql数据库用的是3306的端口,你只要在路由器里把3306端口映射到mysql 服务器的IP就可以了, 你外网访问时直接访问路由器的外网地址+端口号就行了。路由器可以用花生壳来实现外网地址和域名的转换。最终你访问就是: ”花生壳的域:3306“就可以了。

5. 如何设置mysql远程访问

使用“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;”查看修改是否成功。

6. 怎么设置才能让外网ip可以访问mysql数据库

1、首先检查mysql所在服务器的防火墙,如果限制了外网对3306端口的连接,那么放开限制
Linux服务器中执行
iptables -L 可以查看当前的防火墙规则
iptables -F 可以清空所有防火墙规则
2、确保mysql的监听地址是0.0.0.0
监听地址是0.0.0.0 ,表示该mysql允许所有IP地址进行连接,这是允许远程连接的基础
监听地址是127.0.0.1,则代表该mysql只允许所在服务器本机连接,外网是无法连接的
怎么知道mysql的监听地址是多少
Linux服务器中执行如下命令可以查看: netstat -nutlp|grep mysql
3、添加远程连接mysql的账号
此步骤是必须要操作的,mysql本身的用户只能在本机上连接数据库,外网连接的话,需要先添加远程用户并授权。
在mysql命令行模式下,或者phpmyadmin中执行sql语句添加远程连接用户
> grant all on *.* to root@'%' identified by '123456';
> flush privileges;
命令解释:
*.* 第一个*表示库,第二个*表示表; *.*对全部数据库的全部表授权,so.ok 表示只对so这个库中的ok表授权
root 表示要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的
'%' 表示允许远程连接的IP地址,%代表允许所有IP连接
只允许某个IP远程连接,可以写成'123.123.123.123'
只允许123.123.123.*这个网段远程连接,可以写成 '123.123.123.%' '123456' 是设置授权用户的连接密码
flush privileges; 代表立即刷新权限表,使添加的用户生效
上面三步都设置好了,就可以再次尝试远程连接mysql了。

7. 如何访问 外网mysql数据库

设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:设置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;

重启mysql:/etc/init.d/mysql restart;

2:登录mysql数据库:mysql -u root -p
mysql> use mysql;

查询host值:
mysql> select user,host from user;

如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以执行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一个*表示数据库名;第二个*表示该数据库的表名;如果像上面那样 *.*的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;

举例:

任意主机以用户root和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;

8. 如何让mysql数据库允许被远程连接访问就是从其他的电脑连接我的电脑上的mysql

第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。
第二:在系统防火墙添加例外端口:3306,并允许例外。

错误提示:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
的解决方法:
1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
1.mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

3.在window自带的防火墙里的例外添加3306端口

总结:
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。

9. 如何使用mysql workbench从外网访问内网mysql服务器

一台电脑上安装了Workbench,现需要访问另一台ubuntu服务器上的MySQL数据库,但mysql默认是不允许访问的,考虑到安全性问题,也不适合使用root用户来访问mysql。
这时我们就需要开放mysql服务器并创建新的用户来访问mysql。
1,开放mysql
mysql的配置文件在/etc/mysql/my.cnf文件内,里面有一行bind-address = 127.0.0.1表示只允许本地访问,将这行注释即可
2,创建新的mysql用户
(1)首先在本地进入mysql数据库的mysql库内
(2)创建用户:GRANT ALL ON *.* to user@'IP' IDENTIFIED BY 'password'; 其中user表示需要创建用户的名字;IP表示哪台客户端想要访问mysql数据库;password表示密码;并赋予所有的权限。
(3)FLUSH PRIVILEGES; 刷新mysql的系统权限相关表,否则会出现拒绝访问。重启数据库也能达到这样的效果

热点内容
为什么我的csgo社区服务器不一样 发布:2024-05-20 18:02:15 浏览:38
什么是工程数据库 发布:2024-05-20 18:01:30 浏览:593
常见linux问题 发布:2024-05-20 17:43:54 浏览:163
java架构师之路 发布:2024-05-20 17:23:43 浏览:56
贪心算法作业调度 发布:2024-05-20 17:23:42 浏览:715
简述虚拟存储技术的工作原理 发布:2024-05-20 17:23:31 浏览:386
安卓联盟手游从哪里下载 发布:2024-05-20 17:11:39 浏览:317
抖音账号密码不知道是多少怎么看 发布:2024-05-20 16:57:26 浏览:157
python的init函数 发布:2024-05-20 16:23:46 浏览:715
安卓手机连拍限制张数怎么办 发布:2024-05-20 16:13:07 浏览:289