mysql驱动连接不了mariadb_无法从振动应用程序连接到MySQL / MariaDB数据库

如果我使用自定义main(void main()而不是shared static this()),一切正常.

使用默认主菜单时出现“访问冲突”错误.它看起来像MySQL不允许从localhost连接到它,但在my.ini中我添加了字符串:

bind-address = 127.0.0.1

代码,如果有帮助:

import std.stdio;

import std.path;

import std.file;

import std.string;

import dini;

import vibe.d;

import colorize;

import ddbc.all;

shared static this()

{

auto settings = new HTTPServerSettings;

settings.port = 8080;

settings.bindAddresses = ["::1", "127.0.0.1"];

listenHTTP(settings, &hello);

auto parseconfig = new ParseConfig();

auto db = new DBConnect(parseconfig);

}

void hello(HTTPServerRequest req, HTTPServerResponse res)

{

res.writeBody("Hello, World!");

}

class ParseConfig

{

string dbname;

string dbuser;

string dbpass;

string dbhost;

string dbport;

this()

{

try

{

//getcwd do not return correct path if run from task shoulder

string confpath = buildPath((thisExePath[0..((thisExePath.lastIndexOf("\\"))+1)]), "config.ini");

//writefln(thisExePath[0..((thisExePath.lastIndexOf("\\"))+1)]); // get path without extention +1 is for getting last slash

//string confpath = buildPath(thisExePath, "config.ini");

if (!exists(confpath))

{

writeln("ERROR: config.ini do not exists");

}

auto config = Ini.Parse(confpath);

try

{

this.dbname = config.getKey("dbname");

this.dbuser = config.getKey("dbuser");

this.dbpass = config.getKey("dbpass");

this.dbhost = config.getKey("dbhost");

this.dbport = config.getKey("dbport");

}

catch (Exception msg)

{

cwritefln("ERROR: Can't parse config: %s".color(fg.red), msg.msg);

}

}

catch(Exception msg)

{

cwriteln(msg.msg.color(fg.red));

core.thread.Thread.sleep( dur!("msecs")(1000));

}

}

}

class DBConnect

{

Statement stmt;

ParseConfig parseconfig;

this(ParseConfig parseconfig)

{

try

{

this.parseconfig = parseconfig;

MySQLDriver driver = new MySQLDriver();

string url = MySQLDriver.generateUrl(parseconfig.dbhost, to!short(parseconfig.dbport), parseconfig.dbname);

string[string] params = MySQLDriver.setUserAndPassword(parseconfig.dbuser, parseconfig.dbpass);

DataSource ds = new ConnectionPoolDataSourceImpl(driver, url, params);

auto conn = ds.getConnection();

scope(exit) conn.close();

stmt = conn.createStatement();

writefln("\n[Database connection OK]");

}

catch (Exception ex)

{

writefln(ex.msg);

writeln("Could not connect to DB. Please check settings");

}

}

}

我也运行下一个命令:

授予所有特权*.*””””””””””””””””””””””””””’

FLUSH特权;

我也尝试了不同的绑定地址,如:0.0.0.0和localhost但没有结果.每次新绑定后,我都重启了MySQL服务.

怎么了?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是自然数

自然数是指用以计量事物的件数或表示事物次序的数。即用数码 0,1,2,3,4……所表示的数。自然数由 0 开始,一个接一个,组成一个无穷的集体。自然数有有序性,无限性。分为偶数和奇数,合…

angular jwt_Angular5 JWT身份验证(Spring Boot安全性)

angular jwt欢迎使用带有Spring Security的angular5 jwt身份验证。在本教程中,我们将在一个angular5单页应用程序中使用jwt身份验证创建一个全栈应用程序,该应用程序具有由spring boot支持并支持spring security集成的后备服务器。带有集成了HttpInterce…

impacket安装 python_Impacket网络协议工具包介绍

Impacket是一个Python类库,用于对SMB1-3或IPv4 / IPv6 上的TCP、UDP、ICMP、IGMP,ARP,IPv4,IPv6,SMB,MSRPC,NTLM,Kerberos,WMI,LDAP等协议进行低级编程访问。…

什么是实数?

文章目录什么是实数有理数无理数实数的运算什么是实数 实数就是所有的有理数与无理数的集合,在数轴上,我们可以一一找到与实数相对应的点,更加具体化来说,实数也就是有限小数(整数也可以被看成是小数部位为零的小数)和无限小数的…

朝着理想坚实迈进_坚实原则:接口隔离原则

朝着理想坚实迈进以前,我们研究了liskov替代原理。 下一个原则是接口隔离 。 接口隔离原则(ISP)指出,不应强迫任何客户端依赖其不使用的方法。 想象一下,在我们的代码库中有很多方法的接口,尽管只有一部分…

mysql动态标签可以嵌套吗_Mysql动态嵌套游标

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 前提: 表一、 ddm_demand system_id demand_id quotate_end_team 1 1 team1,team5,team2 1 2 tea3,team1,team,4 pk:quotate_end_team、demand_id; 表二、 mc_team team_nam view_order tea…

什么是分数

分数原是指整体的一部分,或更一般地,任何数量相等的部分。表现形式为一个整数a和一个整数b的比(a为b倍数的假分数是否属于分数存在争议)。 分数表示一个数是另一个数的几分之几,或一个事件与所有事件的比例。把单位“1…

朝着理想坚实迈进_坚实原则:单一责任原则

朝着理想坚实迈进单一责任原则是首字母缩写词的第一原则。 “班级应该只有一个改变的理由。” 每个模块或类都应对软件提供的功能的单个部分负责,并且该责任应由类完全封装。 例如,想象一下导航软件的场景。 我们根据给定的方向(北&#…

什么是代数数

代数数是代数与数论中的重要概念,指任何整系数多项式的复根。 所有代数数的集合构成一个域,称为代数数域。 不是代数数的数称为超越数,例如:圆周率 π、自然对数的底数 e。

oracle 容器运行_Oracle应用容器云的自由

oracle 容器运行在这篇博客文章中,我将介绍如何部署CloudEE封装在杜克大学应用自由尤伯杯罐子Oracle应用集装箱云端 。 在Oracle Application Container Cloud中进行部署所需的部署工件是一个ZIP归档文件,其中包含应用程序ber-jar和清单文件&#xff08…

为什么SpringBoot如此受欢迎?如何有效地学习SpringBoot?

SpringBoot是最流行和使用最广泛的Java框架。 有时,这种讨论“为什么SpringBoot如此受欢迎?” 来我和我的朋友/同事之间。 另外,我确实收到了许多人发来的电子邮件,询问“春天是巨大的,如何快速学习它?” 。…

树莓派python交互界面实例_玩转树莓派-RaspBerry,使用Python开发定制界面

1 准备SD卡8G以上,16G更佳。编译过程中,会耗用大量存储空间。一定在编译之前运行sudo raspi-config,选择expand file system扩展SD卡的分区。如果空间不够,会导致运行挂起。使用df -h可查看存储卡的可用容量。2 更新资源的索引清单…

什么是无理数

无理数”就是不能精确表示为两个整数之比的数,而并非没有道理。 无理数,也称为无限不循环小数,不能写作两整数之比。若将它写成小数形式,小数点之后的数字有无限多个,并且不会循环。 常见的无理数有非完全平方数的平方…

java依赖_java 依赖、组合、聚合与继承

java中类与类之间的关系大部分的初学者只知道java中两个类之间可以是继承与被继承的关系,可是事实上,类之间的关系大体上存在五种—继承(实现)、依赖、关联、聚合、组合。接下来,简单的分析一下这些关系。继承(实现)对于类来说,这…

获取 RPM 包常用站点

获取需要的 RPM 包常用站点: http://mirrors.sohu.com http://rpmfind.net http://rpm.pbone.net/

java 多线程和并行编程_Java 8中的并行和异步编程

java 多线程和并行编程并行代码是在多个线程上运行的代码,曾经是许多经验丰富的开发人员的噩梦,但是Java 8带来了许多更改,这些更改应该使这种提高性能的窍门更加易于管理。 并行流 在Java 8之前,并行(或并发&#xf…

java bi报表工具_7款顶级开源BI(商务智能)软件和报表工具

在这个信息化时代,每分每秒都产生海量数据。在海量数据中,挖掘出有用的数据,并且能以较人性化、直观的方式展示这些数据,变得尤为重要。本文将介绍 7款顶级开源 BI(商务智能)软件和报表工具,用于商业数据的分析处理&am…

Linux命令之 DNF -- 新一代的 RPM 软件包管理器

文章目录一、命令介绍二、安装 DNF三、DNF 命令(一)主要命令1. 安装、升级和删除软件包2. 查询和检查软件包3. 执行其它功能(二)插件命令四、选项参数五、命令示例(一)安装、升级和删除软件包安装软件包安装…

抽取大小: 高斯sigma_无服务器:SLAppForge Sigma入门

抽取大小: 高斯sigma! Cmere。 寻找某事? 无服务器,是吗? 在上面。 进入海峡,在“ Sigma”标志处右转。 (嗯,还不要怪我们;至少我们认为这很容易!) 我们…

java多线程 修改优先级_Java多线程-线程的调度(优先级)

与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。在一个线…