Articles of mysql

Mariadb和“SSL连接错误:未知错误号”

我想用SSL安装ubuntu 14.04和Mariadb(5.5.56-MariaDB-1ubuntu0.14.04.1)。 我已经按照说明configuration在这里 我的服务器报告这个: MariaDB [(none)]> SHOW VARIABLES LIKE '%ssl%'; +—————+——————————–+ | Variable_name | Value | +—————+——————————–+ | have_openssl | YES | | have_ssl | YES | | ssl_ca | /etc/mysql/ssl/ca-cert.pem | | ssl_capath | | | ssl_cert | /etc/mysql/ssl/server-cert.pem | | ssl_cipher | DHE-RSA-AES256-SHA | | ssl_key | /etc/mysql/ssl/server-key.pem | +—————+——————————–+ 当我从装有新证书的客户端连接时,我收到消息: SSL connection […]

Windows上的Python / MySQL。 问题与openssl

我有一个MySQL服务器设置使用SSL,我也有CA证书。 当我使用MySQL Workbench连接到服务器时,我不需要证书。 我也可以在没有CA证书的Mac上使用Python和MySQLdb连接到服务器。 但是,当我尝试连接使用完全相同的设置Python和MySQL的Windows机器上,我得到访问被拒绝。 看来我需要CA. 当我进入CA时,出现以下错误 _mysql_exceptions.OperationalError: (2026, 'SSL connection error') 我的代码打开连接如下: db = MySQLdb.connect(host="host.name", port=3306, user="user", passwd="secret_password", db="database", ssl={'ca': '/path/to/ca/cert'}) 任何人都可以指出在Windows上的问题是什么? 我相信它与OpenSSL和Python有关。 我从这里安装了OpenSSL。 但是我不认为Python正在使用我安装的这个版本,因为当我使用Python打印版本时,它是不一样的。 这是Python打印的东西。 它仍然不是一个非常旧的版本,应该连接到MySQL时工作 OpenSSL 1.0.2j 26 Sep 2016 我真的不习惯使用OpenSSL及其问题。 我已经从字面上尝试了所有在google上find的解决scheme,通过search我得到的错误,你会认为其中一个应该工作。 但没有一个,所以我猜测问题是在我的系统上的OpenSSL和Python。 任何人都知道我应该尽力至less确定确切的问题? 我也不明白如何在没有CA证书的情况下使用Mac / Python或MySQL Workbench连接到MySQL服务器,但是我在Windows中使用Python获取访问被拒绝的错误:/ 更新: Python版本2.7.13 MySQL服务器企业版本5.7.18

xinetd脚本返回200确定,但curl获取权限被拒绝

我试图build立一个简单的http检查xinetd来validation奴隶滞后: https : //githubengineering.com/context-aware-mysql-pools-via-haproxy/ 我使用以下configuration设置了xinetd检查: https://gist.github.com/ethan-riskiq/fab3dd7e0bd0e3a2547c6ad52d706b73 当我在本地运行脚本时工作正常,但由于某种原因,服务的curl不起作用,并返回拒绝的权限: [root@db09 ~]# curl -XPOST localhost:9976/check-lag ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 如果我将密码硬编码到脚本中,也会得到相同的错误。 下面是一个正在调用的xinetd脚本示例: https : //gist.github.com/ethan-riskiq/9421a907b473e22db945e0a743f4c212

修复MySQL group_replication applier模块启动失败

TL / DR:这个问题不是关于主从复制。 这是关于多主群组复制的新function(可从v5.7.17开始)。 我们有解决方法,但由于大量数据需要导入两次,所以需要花费数小时,所以问题在于find正确的方法来解决这个问题。 我们已经使用group replication设置了生产MySQL multi-master集群(仅提供5.7.17和更高版本)。 但是,当向此群集添加新节点时,出现ERROR 3094 (HY000): The START GROUP_REPLICATION command failed as the applier module failed to start. 尝试使用在设置传统主从复制时使用的类似错误的解决scheme[1] [2] 不起作用 。 我发现唯一的工作解决scheme是运行reset + source命令TWICE。 这需要花费数小时才能完成(数据库非常大)。 见下面的细节。 我们添加新节点的过程如下: On existing node: # mysqldump –all-databases –triggers –routines –events -u root -p > /home/user/dump.sql Copy dump to new node Setup new node […]

从mariabackup恢复MariaDB

我试图将我们的生产数据库复制到同一服务器上的临时数据库,而不locking我们的生产应用程序。 我们在MariaDB(10.1.22-MariaDB-1〜xenial)上的数据库变得太大而不能用mysqldump导出。 在生产中这样做会locking表格并将我们的应用程序closures。 我正在使用Percona XtraBackup工具的叉子的新mariabackup工具。 它似乎与以下命令正常工作: sudo mariabackup –user=<me> –password=<something> –databases=crs_production –backup –export 它给我留下了一个crs_production目录(我们数据库的名字)和一堆文件。 我假设这些是你在/ var / lib / mysql / crs_production中find的文件。 我可以安全地复制这些并覆盖位于/ var / lib / mysql / crs_staging的暂存数据库吗? 我不是非常担心失败,但是我非常关心在这个过程中陷入我们的数据库服务器。

在sql-mode =“NO_ENGINE_SUBSTITUTION”之后,mysql服务重新启动失败

当我在sql-mode = "NO_ENGINE_SUBSTITUTION"添加sql-mode = "NO_ENGINE_SUBSTITUTION"后,尝试重新启动mysql服务时出现此错误 错误: 作业mysql.service失败,因为控制进程退出错误代码。 有关详细信息,请参阅“systemctl status mysql.service”和“journalctl -xe”。 一点背景: 我试图在运行Ubuntu 14.04的DO VPS中安装ISPConfig 3,并得到以下错误: 错误的SQL模式。 您应该使用NO_ENGINE_SUBSTITUTION。 将sql-mode =“NO_ENGINE_SUBSTITUTION”添加到此服务器的mysql-config中的mysqld部分,然后重新启动mysqld 为了解决这个问题,我在sql-mode="NO_ENGINE_SUBSTITUTION"添加了sql-mode="NO_ENGINE_SUBSTITUTION" 现在我很困惑,为了让我的ISPconfig安装继续下去。 注意:mysql服务在上面的sql模式下工作正常。 tail -30 /var/log/mysql/error.log返回以下内容: 2017-07-20T14:11:06.111509Z 0 [Note]closures插件'INNODB_FT_DELETED'2017-07-20T14:11:06.111517 [Note]closures插件'INNODB_FT_BEING_DEL ETED'2017-07-20T14:11:06.111513Z 0 Z 0 [注意]closures插件'INNODB_FT_DEFAULT_S TOPWORD'2017-07-20T14:11:06.111521Z 0 [Note]closures插件'INNODB_METRICS'2017-07-20T14:11:06.111525Z 0注意closures插件' INNODB_TEMP_TABLE_I NFO'2017-07-20T14:11:06.111529Z 0 [Note]closures插件'INNODB_BUFFER_POOL_ STATS'2017-07-20T14:11:06.111533Z 0 [注意]closures插件'INNODB_BUFFER_PAGE_ LRU'2017-07-20T14 :11:06.111537Z 0 [注意]closures插件'INNODB_BUFFER_PAGE'2017-07-20T14:11:06.111541Z 0 [注意]closures插件'INNODB_CMP_PER_INDE X_RESET'2017-07-20T14:11:06.111545Z 0 [注意]closures插件'INNODB_CMP_PER_INDE […]

PHP到MySQL使用SSL

我有一个远程MySQL服务器,需要我使用SSL进行连接。 我可以使用我的terminal连接到它。 但是当我尝试使用PHP连接到它时,出现以下错误: SSL3_GET_RECORD:wrong version number 看起来像OPENSSL握手失败,原因可能是我的PHP试图使用SSL3连接到它。 MySQL服务器仅支持TLSv1.2。 有没有办法强制PHP使用TLSv1.2连接? 这是我用来连接的代码: <?php ini_set ('error_reporting', E_ALL); ini_set ('display_errors', '1'); error_reporting (E_ALL|E_STRICT); $db = mysqli_init(); mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true); $db->ssl_set(NULL, NULL, '/path/to/ca-cert.pem' , NULL, NULL); $link = mysqli_real_connect ($db, 'hostname', 'user', 'password', 'dbname', 3306, NULL, MYSQLI_CLIENT_SSL); if (!$link) { die ('Connect error (' . mysqli_connect_errno() . '): ' […]

强制mysql只使用tcp

基本上是: Force Mysql只使用unix套接字 。 对于更多的上下文:我有一个现有的LAMP堆栈加上正在运行的Web应用程序,并希望注入一个MySQL代理之间的Web应用程序和MySQL。 我可以做到这一点: 改变所有的configuration(我不unfamilliar)在webapp路由通过代理 更改MySQL服务器的端口,并运行该端口上的代理,以“愚弄”的Web应用程序相信它实际上是连接到MySQL服务器 由于显而易见的原因,我select了b),但没有成功。 这是由于mysql在使用localhost时使用套接字 ,因此完全忽略了我的代理。 我怎么能达到我描述的目标,而不必去选项a) – 基本上归结为:如何强制mysql只使用tcp?

haproxy'd mysql客户端挂起尝试连接

我试图使用github的工程博客中概述的方法为mySQL从群集build立一个haproxy LB。 我有xinetd检查工作,但是当我试图通过mysql客户端通过haproxy端点login到后端主机,客户端只是无限期地挂起。 curl似乎到达后端主机,但我看到在响应中的“数据包乱序”: [me@jump01 ~]$curl haproxy01.domain:3306/check-lag 5.6.32-78.1-log m-}1w)`*O0 ! B:>da85>w`[)mysql_native_password! #08S01Got packets out of order 这里是这个代理的相关haproxy.cfg的一个要点 。 不知道我在这里失踪,这是防止mysql客户端到后端。

豆茎云的外部IP地址?

我正在尝试将我的webservices(PHP codeigniter + MySql)从专用VPS迁移到Elastic Beanstalk。 我已经迁移了PHP代码库,但是希望在设置数据库复制的同时保持MySql在VPS上。 所以我需要find一种方法来使EC2虚拟机能够远程连接到VPS中的MySQL实例。 根据这个https://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html我需要允许步骤中的EC2 VM的远程IP地址#5,我怎么find那个IP呢?