mysql怎么用外网登录 怎么远程登陆mysql

如何登录mysql?

当 MySQL 服务开启后,就可以通过客户端来登录 MySQL 数据库了。在 Windows 操作系统下可以使用 DOS 命令登录数据库,本节将介绍使用命令方式登录 MySQL 数据库的方法。

创新互联是专业的平顺网站建设公司,平顺接单;提供成都网站设计、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行平顺网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

登录 MySQL 数据库的具体操作步骤如下:

步骤 1):单击“开始”→“Windows 系统”→“命令提示符”,如图所示。

步骤 2):打开命令行提示符界面,输入命令cd C:\Program Files\MySQL\MySQL Server 5.7\bin\,按回车键,如图所示。

步骤 3):在命令提示符界面可以通过登录命令mysql -h 127.0.0.1 -u root -p连接 MySQL 数据库。

按回车键,系统会提示输入密码(Enter password),这里输入配置向导中设置的密码,验证正确后,即可登录 MySQL 数据库,如图所示。

提示:mysql 为登录命令,-h 后面的参数是服务器的主机地址,在这里客户端和服务器在同一台机器上,所以输入 localhost 或者 IP 地址;-u 后面跟登录数据库的用户名称,在这里为 root;-p 后面是用户登录密码。

在 DOS 窗口下运行该命令后,系统会提示输入密码。密码输入正确以后,即可登录到 MySQL 数据库。

可以在 mysql 命令中直接加上密码,该命令为 mysql -h localhost -u root -proot。这里的 -p 后面的 root 就是密码。此处特别注意 -p 和密码之间没有空格。如果出现空格,系统将不会把后面的字符串当成密码来对待。

步骤 4):登录成功后进入 MySQL 初始界面,会出现“Welcome to the MySQL monitor”的欢迎语,然后下面还有一些说明性的语句,如图所示。

这些说明性语句介绍如下:

Commands end with; or\g:说明 mysql 命令行下的命令是以分号(;)或“\g”来结束的,遇到这个结束符就开始执行命令。

Your MySQL connection id is 3:id 表示 MySQL 数据库的连接次数。

Server version: 5. 7.29-log MySQL Community Server(GPL):Server version 后面说明数据库的版本,这个版本为 5.7.29。Community 表示该版本是社区版。

Type 'help;' or '\h' for help:表示输入”help;“或者”\h“可以看到帮助信息。

Type '\c' to clear the current input statement:表示遇到”\c“就清除前面的命令。

提示:当窗口中出现如上图所示的说明信息,命令提示符变为“mysql”时,表明已经成功登录 MySQL 服务器,可以开始对数据库进行操作了。

通过命令行客户端软件登录

当 MySQL 软件安装完后,一般都会安装一个简单命令行使用程序(MySQL Command Line Client),该客户端没有流行的用户界面。

选择”开始“→”程序“→”MySQL“→”MySQL 5.7 Command Line Client “,打开 MySQL Command Line Client 进入提示输入密码的界面,如图所示。

请点击输入图片描述

输入正确的密码后,登录到 MySQL 软件,如果以这种方式登录 MySQL,需要保证 MySQL 服务处于启动状态。

如果输入密码后,程序窗口出现闪退现象,则可以参考《MySql Command Line Client闪退解决方案》一节。

mysql 远程连接方法

mysql开启远程连接:

以 root用户登入mysql

GRANT all privileges ON wang.* TO 'wang'@'%' identified by 'wang';

flush privileges;

请点击输入图片描述

修改配置文件

vi /etc/mysql/my.cnf

把bind-address           = 127.0.0.1  这行注掉

重启数据库

service mysql restart

请点击输入图片描述

本地测试连接3306端口

telnet 192.168.1.77 3306   若已连通

确定已安装mysql客户端which mysql

/usr/bin/mysql

然后mysql -uwang -h192.168.1.77 -p  看能否登录

请点击输入图片描述

外网如何利用网络辅助nat123实现访问内网mysql数据库?

网络环境:动态公网IP。

明确mysql数据库内网访问地址端口,确保mysql数据库服务正常,在内网可以正常访问连接。内网使用nat123动态域名解析。内网服务器安装nat123客户端,并使用它。登陆。进入主面板/域名解析列表/添加域名。选择动态域名解析记录,使用二级域名,或自己的域名。鼠标放在输入框有向导提示。

请点击输入图片描述

路由器端口映射,路由映射mysql数据库访问端口。

因为公网IP是在路由器上的,外网访问时,需要经过路由,需要在路由器上做端口映射,将内网mysql数据库访问端口打通。路由器端口映射位置:转发规则/虚拟服务器/添加允许外网访问端口和协议。我的mysql数据库端口是默认的3306,我内网对应mysql数据库主机的内网IP地址是192.168.1.22。

请点击输入图片描述

外网访问时,使用动态解析域名。

在外网访问mysql数据库时,使用动态解析域名进行连接访问。域名是不变的,可以上网即可访问,再也不担心动态公网IP变化的问题。

请点击输入图片描述

怎么设置才能让外网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了。

路由器分配的是动态公网IP,且有路由器登录管理权限。如何实现外网访问内网MySQL数据库?

在路由器配置DDNS,并填上DDNS的服务提供商的账号:(需要注册)

如华为AR系列路由器的界面如下:

然后把MySQL的端口TCP3306映射出去即可。

怎样设置才能允许外网访问MySQL

允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:

1.在本机先使用root用户登录mysql:

mysql -u root -p"youpassword"

2.进行授权操作:

mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

3.重载授权表:

FLUSH PRIVILEGES;

4.退出mysql数据库:

exit

如何允许外网可以连接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;

或者也可以执行:

mysqlgrand 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;

本文题目:mysql怎么用外网登录 怎么远程登陆mysql
文章分享:https://www.cdcxhl.com/article0/hhjdoo.html

成都网站建设公司_创新互联,为您提供全网营销推广网站排名网站收录网页设计公司品牌网站建设自适应网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营