首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openshift.com -无法与mysql连接

Openshift.com -无法与mysql连接
EN

Stack Overflow用户
提问于 2014-04-11 23:08:36
回答 2查看 1.2K关注 0票数 2

我试图建立一个与mysql-5.1的连接,但它显示错误,如“无法连接”或当我更改主机名“无法连接:没有这样的文件或目录”。

我的文件是这样的

代码语言:javascript
复制
<?php
$link = mysql_connect('localhost', 'username', 'password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
printf("MySQL server version: %s\n", mysql_get_server_info());
?>

已尝试将mysql_connect更改为mysqli_connect。没什么区别。

1) Mysql正在运行(根据接口)。

2)尝试了各种rhc命令来重新启动应用程序,重新启动|重新加载墨盒等-执行此操作时没有错误。“例如eg.Mysql 5.1 restart...done”。

3)尝试对$OPENSHIFT_MYSQL_DB_HOST执行pinging操作,但成功了。

4)尝试远程登录$OPENSHIFT_MYSQL_DB_HOST,结果显示连接已建立,并显示一些乱码。

5) ps aux | grep " mysql“4213 21721 0.0 0.0 103252 828pt/0 S+ 10:56 0:00 grep mysql

6)mysql>状态

/usr/bin/MySQLV14.14Distrib 5.1.73,适用于使用readline 5.1的redhat-linux-gnu (x86_64)

连接id: 4当前数据库:当前用户:xxxxxxxxxxxxx@xx.xx SSL:未使用当前分页程序: stdout Using outfile:'‘Using delimiter:;服务器版本: 5.1.73源分发协议版本: 10连接:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.rhcloud.com通过TCP/IP服务器字符集: latin1 Db字符集: latin1客户端字符集: latin1 Conn。特征集: latin1 TCP端口: 50986正常运行时间:18分40秒

线程数:1个问题:4个慢查询数:0个打开数: 17个刷新表数:1个打开的表数:每秒4个查询数平均为0.3

我将代码更改为

代码语言:javascript
复制
<?php
$mysqli = new mysqli('localhost', 'username', 'password', 'dbname');

/*
 * This is the "official" OO way to do it,
 * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
 */
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}

/*
 * Use this instead of $connect_error if you need to ensure
 * compatibility with PHP versions prior to 5.2.9 and 5.3.0.
 */
if (mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

同样的错误。

有人能帮帮我吗?甚至phpmyadmin代码都说“无法连接到mysql”。

感谢Ganesh Kumar

EN

回答 2

Stack Overflow用户

发布于 2014-04-13 21:21:00

您是否尝试过以下操作:

代码语言:javascript
复制
<?php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database */
define('DB_NAME', $_ENV['OPENSHIFT_APP_NAME']);

/** MySQL database username */
define('DB_USER', $_ENV['OPENSHIFT_MYSQL_DB_USERNAME']);

/** MySQL database password */
define('DB_PASSWORD', $_ENV['OPENSHIFT_MYSQL_DB_PASSWORD']);

/** MySQL hostname */
define('DB_HOST', $_ENV['OPENSHIFT_MYSQL_DB_HOST'] . ':' . $_ENV['OPENSHIFT_MYSQL_DB_PORT']);

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
printf("MySQL server version: %s\n", mysql_get_server_info());
?>
票数 1
EN

Stack Overflow用户

发布于 2016-05-24 09:19:48

我也有同样的问题,可以通过下面的代码来解决。

代码语言:javascript
复制
define('DB_HOST', getenv('OPENSHIFT_MYSQL_DB_HOST'));
define('DB_PORT', getenv('OPENSHIFT_MYSQL_DB_PORT'));
define('DB_USER', getenv('OPENSHIFT_MYSQL_DB_USERNAME'));
define('DB_PASS', getenv('OPENSHIFT_MYSQL_DB_PASSWORD'));
define('DB_NAME', getenv('OPENSHIFT_GEAR_NAME'));

$dbhost = constant("DB_HOST"); // Host name 
$dbport = constant("DB_PORT"); // Host port
$dbusername = constant("DB_USER"); // Mysql username 
$dbpassword = constant("DB_PASS"); // Mysql password 
$db_name = constant("DB_NAME"); // Database name 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23016297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档