精华内容
下载资源
问答
  • 主要为大家详细介绍了python远程连接服务器MySQL数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了Navicat出现无法远程连接MySql服务器问题的解决办法,文章通过思路判断出现问题的情况,然后进行逐一排查,确定问题出现的原因并给出解决办法,本文对此问题的解决介绍的非常详细,对大家的学习或者工作...
  • 隧道代理访问MySQL服务 工具:putty,HeidiSQL 基于安全的考虑,MySQL服务器的 3306 端口只能内部访问,...存在的内网中的MySQL服务器就称为MySQL服务器 步骤一: 步骤二: 如上图所示:以方框中的红色数...

    隧道代理访问MySQL服务

    工具:putty,HeidiSQL,Navicat Premium 12

    基于安全的考虑,MySQL服务器的 3306 端口只能本地或内网访问,防火墙对外只开了SSH 端口。 这种情况我们就可以使用 SSH 的隧道直接访问 MySQL ,实现远程对MySQL的管理。

    声明:

    1. 本地运行HeidiSQL软件的机器称为客户机
    2. 存在的内网中的MySQL服务器就称为MySQL服务器
    步骤一:

    在这里插入图片描述

    步骤二:

    在这里插入图片描述
    如上图所示:以方框中的红色数字为顺序,填入以上数据。

    Source port,本地访问端口
    Destination,目标地址,IP地址+端口号,这里是远程服务器的IP地址。
    Add成功后,会添加一条映射记录,即把访问本地的3307端口映射到远程服务器的3306断口上。

    在这里插入图片描述

    客户机运行HeidiSQL连接MySQL服务器,应为本次访问是本地3307端口走的代理,故地址填入127.0.0.1,端口填入3307,连接成功。

    后续补充

    使用Navicat Premium 12在这种情况下连接数据库更为方便,具体如下图设置即可,其原理也是SSH Tunnel,只是把功能集成在软件中了

    在这里插入图片描述
    在这里插入图片描述

    参考:
    [1] https://www.iteye.com/blog/ezerg-1037671

    展开全文
  • 使用windows的自动定时任务对数据库进行定时备份,填写远程服务器的ip、帐号、密码。在执行程序,即可把远程的数据库直接备份到本地来。这中间用到了mysql程序的sqldump.exe文件
  • QT5连接并操作远程服务器MySQL数据库

    千次阅读 2020-08-11 16:49:59
    QT5连接并操作远程服务器MySQL数据库 文章目录QT5连接并操作远程服务器MySQL数据库一、连接MYSQL数据库0.加入MySQL动态链接库1.加入sql模块,包含头文件2.远程连接方法3.连接错误Error2003解决办法二、QT操作MySQL1....

    QT5连接并操作远程服务器MySQL数据库

    一、连接MYSQL数据库

    QT连接远程服务器MySQL数据库,步骤如下:

    0.加入MySQL动态链接库

    首先在QT的安装目录下的bin文件夹下,加入libmysql.dll动态链接库,否则编译运行会输出MySQL驱动加载失败的错误!!

    具体参考网上的教程,不一定需要安装MySQL,加入动态链接库即可,亲测!

    加载链接库的可以随便参考一篇:Qt5.12连接MySQl5.7(亲自测试成功)

    1.加入sql模块,包含头文件

    双击pro文件,加入sql模块

    image-20200807115701378

    使用当数据库相关内容时,加入头文件,主要有以下几个头文件:

    #include <QSqlDatabase> //sql驱动基础
    #include <QSqlQuery>//sql查询相关
    #include <QSqlError>//sql输出错误
    

    使用#include 可以输出错误进行检查,看看哪里出了问题,使用lastError()方法即可输出错误信息,例如:

    image-20200807153110046

    2.远程连接方法

    主要代码如下:

    #include "widget.h"
    #include <QApplication>
    #include <QSqlDatabase>
    #include <QSqlQuery>
    #include <QSqlError>
    #include <QDebug>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        Widget w;
        w.show();
    
        //主要方法
        QSqlDatabase data_base = QSqlDatabase::addDatabase("QMYSQL");//添加驱动
        data_base.setHostName("120.25.248.91");  //设置主机地址
        data_base.setPort(3306);  //mysql设置端口
        data_base.setDatabaseName("xxx");  //设置数据库名称
        data_base.setUserName("root");  //设置用户名
        data_base.setPassword("xxx");  //设置密码
        if(!data_base.open())//打开数据库
        {
            qDebug()<<"connect failed";
            qDebug() << data_base.lastError();//.databaseText()  输出错误信息
        }
        else
            qDebug()<<"success";
        database.close();//关闭数据库
        return a.exec();
    }
    

    3.连接错误Error2003解决办法

    QSqlError(“2003”, “QMYSQL: Unable to connect”, “Can’t connect to MySQL server on ‘120.25.248.91’ ,(10061)”)

    QSqlError("2003", "QMYSQL: Unable to connect", "Can't connect to MySQL server on '120.25.248.91' ,(10061)")
    

    报出上面的错误时,非常无语。。。

    检查了数据库用户名、密码、数据库名、端口等等都没错,默认使用的3306也是开放的。。

    然后重启了一下服务器上的mysql,

    systemctl restart mysql.service
    

    竟然搞定了!!

    二、QT操作MySQL

    1.包含头文件

    需要包含下面这些头文件,里面有数据库操作的方法。

    #include <QSqlQuery> 
    #include <QSqlQueryModel>
    #include <QSqlTableMode>
    

    头文件说明如下:

    转自:https://blog.csdn.net/kangshuaibing/article/details/84972681

    • QSqlQuery

      可以用来执行SQL语句和获得执行结果的。

    • QSqlQueryModel

      提供了一个sql查询结果的只读数据模型。它从查询QSqlQueryModel获取数据。

      可以方便的用于在QListView, QTableView, QTreeView等各种view上展示数据。

      但它是只读的,不能编辑。

    • QSqlTableMode

      继承于QSqlQueryModel,与QSqlQueryModel功能相似。

      比QSqlQueryModel的限制在于不能是任意sql语句,只是对单个数据表操作。

      拓展在于在各种view上展示表格数据的同时,还允许用户进行编辑操作。

    2.操作示例

    先上效果图:

    实现思路:

    首先,在服务器MySQL数据库中创建测试用到的数据库与数据表,如:

    image-20200808145614840

    在当前页面连接MySQL数据库,在注册按钮的槽函数中,查询当前需要注册的账号是否存在,不存在就注册,存在则进行提示。

    在登录按钮槽函数中,查询用户密码,查询正确即可登录。

    主要代码:

    注册按钮槽函数:

    image-20200808145947586

    登录按钮槽函数:

    image-20200808145905782

    #include "widget.h"
    #include "ui_widget.h"
    #include "ctrl.h"
    #include <Qstring>
    #include <QSqlDatabase>
    #include <QSqlQuery>
    #include <QSqlError>
    #include <QDebug>
    #include <QMessageBox>
    #include <QSqlTableModel>
    
    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
    
        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");  //加入MYSQL的数据库驱动
        db.setHostName("120.25.248.91");         //主机名
        db.setPort(3306);                    //端口
        db.setUserName("root");              //用户名
        db.setPassword("mysql");            //密码
        db.setDatabaseName("Door");          //数据库名
    
        //测试连接
        if(!db.open())//打开数据库
        {
          qDebug()<<"can not connec";
          qDebug() << db.lastError();//打印错误信息
        }
        else
        {
           qDebug()<<"connect success";
        }
    }
    
    Widget::~Widget()
    {
        delete ui;
    }
    
    void Widget::on_loginBt_clicked()//登录按钮槽函数
    {
        QString userName = ui->userEdit->text();
        QString password = ui->passwdEdit->text();
    
        QSqlTableModel *model = new QSqlTableModel;
        model->setTable("softuserTable");
        model->setFilter(QString("userName='%1'").arg(userName));//查询用户名
        model->select();
    
        int row = model->rowCount();
        if(row>0){//查询成功
            row=0;
            model->setFilter(QString("userName='%1' and password='%2'").arg(userName).arg(password));//查询用户与密码
            model->select();
            row = model->rowCount();
            if(row>0){//查询成功
                qDebug()<< "登录成功";
                QMessageBox::information(this,"提示","登录成功!");
            }else{
                QMessageBox::information(this,"提示","密码错误,登录失败!");
                ui->passwdEdit->clear();
            }
        }else{//查询失败
            QMessageBox::information(this,"提示","用户未注册!");
        }
    
        delete model;
    }
    
    
    void Widget::on_registerBt_clicked()//注册按钮槽函数
    {
        QString user = ui->userEdit->text();
        QString pswd = ui->passwdEdit->text();
    
        QSqlTableModel *model = new QSqlTableModel;
        model->setTable("softuserTable");//选择数据表
        model->setFilter(QString("userName='%1'").arg(user));//设置查询过滤选项,此处查询用户名
        model->select();//获取查询数据
    
        int row = model->rowCount();
        if(row>0){//查询到用户名已在数据库中
            QMessageBox::information(this,"提示","用户已注册!");
        }else{
            QString cmd = QString("insert into softuserTable(userName,password) values ('%1','%2')")
                    .arg(user).arg(pswd);
            qDebug() << "cmd = " << cmd ;
            QSqlQuery *query = new QSqlQuery;
    
            if(query->exec(cmd)){
                QMessageBox::information(this,"提示","注册成功!");
            }else{
                QMessageBox::information(this,"提示","注册失败!请联系管理员");
            }
            delete query;
            ui->passwdEdit->clear();//清除密码输入框
        }
    
    }
    
     if(query->exec(cmd)){
                QMessageBox::information(this,"提示","注册成功!");
            }else{
                QMessageBox::information(this,"提示","注册失败!请联系管理员");
            }
            delete query;
            ui->passwdEdit->clear();//清除密码输入框
        }
    
    }
    
    展开全文
  • 服务器开启远程登录 打开服务器的防火墙配置,允许MySQL的连接端口【3306,1433】 首先确定MySQL数据库启动了,用命令ps aux|grep mysql 查看。 授予访问权限授予访问权限 将root用户授权给所以连接: grant all ...

    云服务器开启MYSQL远程登录

    1. 打开服务器的防火墙配置,允许MySQL的连接端口【3306】
    2. 首先确定MySQL数据库启动了,用命令ps aux|grep mysql 查看。
    3. 授予访问权限授予访问权限
    4. 将root用户授权给所以连接: grant all privileges on . to ‘root’@’%’ identified by ‘自己的mysql密码’;
    5. 让权限立即生效:flush privileges;​ 让权限立即生效:flush privileges;​
    6. 查看my.cnf(路径:/etc/mysql下) 或者 mysqld.cnf(/etc/mysql/mysql.conf.d下)文件 加#注释掉bind-address = 127.0.0.1 如下: #bind-address = 127.0.0.1 .
    7. sudo service mysql restart重启mysql
    展开全文
  • 连接远程MySQL服务器

    千次阅读 2017-08-19 10:22:48
    这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root-pvmwaremysql>use mysql; mysql>updateuser set host = '%' where

    1。 改表法。

    可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

    mysql -u root-pvmwaremysql>use mysql;

    mysql>updateuser set host = '%' where user = 'root';

    mysql>selecthost, user from user;

     

    注:该表法修改后需重新启动数据库

     

     

    格式是:

    -P 端口号  -h  mysql主机名\ip -u root (用户)  -p


    注:一般默认端口号3306可以忽略不打。

    2. 授权法。

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

    GRANT ALLPRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

    FLUSH  PRIVILEGES;

    如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

    GRANT ALLPRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITHGRANT OPTION;

    FLUSH  PRIVILEGES;

    如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

    GRANT ALLPRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITHGRANT OPTION;

    FLUSH  PRIVILEGES;

    我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES 使修改生效.就可以了

    另外一种方法,不过我没有亲自试过的,在csdn.net上找的,可以看一下.

    在安装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身份登录啦!

    展开全文
  • 1.windows系统下备份mysql数据库,.bat代码@echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" C:\"Program Files"\MySQL\"MySQL Server 5.6"\bin\mysqldump --opt -u root --password=root -h127.0.0.1 yadong ...
  • 最近在捣鼓阿里云服务器,在里面安装了一个mysql数据库,现在想在本地电脑远程连接服务器mysql进行操作。 具体步骤如下: 1.首先到官网下载Mysql workbench Mysql workbench官网地址 2.打开workbench软件 3.点击...
  • 发现一个问题,我在虚拟机Debian系统下搭建的 lamp 环境,利用samba服务共享到win下,在win下的 navicat 连接数据库失败,找了一下原因,是有一个配置文件的一个配置项需要提前更改,才能达到远程访问,解决方法如下...
  • 登录MySQL服务器

    千次阅读 2019-04-07 11:33:48
    登录MySql服务器的步骤和命令详解(实际案例操作)
  • 1、在远程通过 mysql -uroot -p 进入数据库以后,执行:grant all privileges on *.* to "root"@"%" identified by "密码"; 2、flushprivileges; 参考连接:https://www.cnblogs.com/arx...
  • 如何使用SSH连接到远程MySQL服务器

    千次阅读 2020-07-23 03:55:37
    This article will explain how to set up a connection from a Windows host OS using a PuTTY client to a remote MySQL server on Linux Ubuntu 18.04. 本文将说明如何在使用Ubuntu的Linux Ubuntu 18.04上建立...
  • 问题发生过程: 今天linux登录Mysql发现root密码忘记了然后使用# mysqld_safe ...然后在客户端使用cmd命令(telnet 服务器域名 3306)发现访问失败,在linix服务器使用127.0.0.1 root用户登录mysql -h127.0.0.1 -uroot -
  • 本文将介绍在python下调用阿里云服务器MySQL数据库 1.服务器端配置 1.1 安装MySQL数据库 1.下载MySQL安装包 rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 2.安装MySQL yum ...
  • 安装步骤 1. 安装Qt5.2.0-mingw32 2. 下载mysql-5.7.25-win32.zip ...3. 安装mysql ...解压即可,直接复制解压文件中lib目录下的libmysql.lib、...(服务器配置Mysql请详见我另一篇博客“关于配置python-mysql...
  • CMD远程连接服务器上的MySQL

    万次阅读 2016-09-03 23:12:17
    最近为了尝试远程连接服务器上的MySQL,碰到了很多的问题。 1.打开CMD命令行。 2.输入mysql -h要远程的IP地址 -u设置的MySQL用户名 -p登录用户密码例如:mysql -h192.168.0.110 -uroot -p1233(如果不能实现,把...
  • 工具:腾讯云控制台登录后的终端或诸如MobaXterm、CRT、XShell等SSH远程连接服务器工具 建议:使用root账户登录服务器,以便有足够的权限 安装MySQL 检测是否安装mysql,如果未安装,无结果 sudo netstat -tap | ...
  • MySQL登录时出现Access denied for user ‘root’@‘localhost’ (using password:( YES) (这种错误一般是在远程连接时,用户root对应的密码输入不正确。首先仔细检查密码。之后,如果确保密码正确的情况下,再...
  • mac远程连接mysql

    千次阅读 2019-10-29 17:22:50
    sudo ssh root@IP mysql -u root -p -h IP
  • 使用MySQL Gui Tools定时备份远程MySQL服务器 下载MySQL Gui Tools工具 /downloads/gui-tools/5.0.html 安装MySQL Gui Tools工具直接解压即可 启动MySQL Gui Tools工具 配置MySQL Gui Tools自动备份 保存数据库...
  • 前言 今天在给测试服务器安装完mysql服务器之后,想着使用我本地的navicat连接一下,但是直接报了...但是发现测试环境防火墙没开以及端口也是开放的,后来网上找了一下,原来是mysql服务器没有开启远程访问权限导致...
  • 报错如下: 1130-Host 'LAPTOP-QO05RRBS' is not allowed to connect to this MySQL server ...1.远程登录服务器,启动Mysql 2.输入: use mysql; select user,password,host from user; 可以看到服务
  • python远程连接mysql服务器

    万次阅读 2016-06-21 14:24:54
    使用python连接至远程mysql服务器 python连接mysql使用MYSQLdb,首先要去下载对应版本的MYSQLdb,分享一个我自己下的 链接: http://pan.baidu.com/s/1o8OXU58 密码: 27jv 下载并安装后 第一步: import MYSQLdb...
  • 1.查看服务器mysql权限 select user,host from mysql.user; 2.看host权限是否为%,如果不是可通过MySQL Workbench进行修改; 进入MySQL Workbench并且连接数据库 单击Users and Privileges 单击User名称进入...
  • 远程备份脚本如下 #!/bin/sh zcDATE=$(date +%Y%m%d) mkdir /opt/mysql-data-backup/$zcDATE mysqldump -h '192.96.118.2' -uroot -p'123456 --databases lpcarnet &gt; /opt/mysql-data-backup/$zcDATE/car....
  • Navicat无法远程连接MySql服务器问题的解决方法 写在前面: 操作系统:中标麒麟4.0; 数据库:MySQL5.7.26; JDK:采用中标麒麟系统自带的openjdk; 客户端工具:Navicat; 前置条件: MySQL服务安装完毕; 情景: ...
  • 阿里云服务器远程连接mysql

    千次阅读 2018-01-01 11:19:23
    本人因为最近做一个小小网站,需要用到一些简单的mysql功能,便在阿里云服务器里面装了个mysql,带mysql全部安装成功之后,远程连接时,出了一些问题,而这个问题一直搞了一天,最后睡了一觉头脑清醒了的分析问题...
  • 在阿里云windows下安装了mysql5.7 本地测试登录成功,远程登录报错Host is not allowed to connect to this MySQL server。 mysql管理工具使用HeidiSQL。 解决方法如下: 登录阿里云服务器,用HeidiSQL本地登录...
  • 腾讯云服务器MySQL配置远程连接

    千次阅读 2018-03-30 08:24:11
    1.在 Ubuntu 16.04 中,默认情况下,只有最新版本的 MySQL 包含在 APT 软件包存储库中。 sudo apt-get update sudo apt-get install mysql-server 系统将提示您在安装过程中创建 root 密码。选择一个安全的密码,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 153,422
精华内容 61,368
关键字:

如何登录远程服务器的mysql

mysql 订阅