ホームページ  >  記事  >  バックエンド開発  >  mysqli 関数を使用して PHP で mysql に接続すると、警告: mysqli::real_connect(): (hy000/1040): ...、mysqlihy000_PHP チュートリアル

mysqli 関数を使用して PHP で mysql に接続すると、警告: mysqli::real_connect(): (hy000/1040): ...、mysqlihy000_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:59:19853ブラウズ

PHP で mysqli 関数を使用して mysql に接続すると、警告が表示されます: mysqli::real_connect(): (hy000/1040): ..., mysqlihy000

背景: mysql を mysqli に置き換える場合、次の警告が表示されます。実際には、そうではありません。理由は、ソケットの変更が完全に変更されていないため、mysql の show processlist に表示されないためです。実際、tshark でパッケージを取得すると、実際に接続されていることがわかります (http://justwinit.cn/post/7458/)。おそらく mysqli クライアント自体によって報告されたものと思われますが、この問題は小さいですが、実行に時間がかかりました。Php を再インストールしようとしましたが、パスが間違って書かれていることがわかり、mysqli クライアントによってエラー メッセージが表示されました。多くの接続があり、間違った方向が発生しました。以下の通り:

リーリー

変更後は忘れずに php-fpm を再起動してください:

リーリー

_______________トラブルシューティングの重要なポイントは次のとおりです_______________________________

警告: mysqli::real_connect(): (hy000/1040): 接続が多すぎます:

シナリオ: mysqlを手動でコンパイルしてインストールし、インストール場所を指定すると、phpがlocalhostモードでmysqlに接続します

原因分析: 手動でコンパイルしてインストールした後、すべての mysql ファイルは指定されたディレクトリまたはデータ ディレクトリにあります。デフォルトでは、PHP は sock ファイルを見つけるために /temp/mysql.sock のみを検索するため、sock ファイルを見つけることはできません。見つかった。

解決策:

1. Sock ファイルへのソフトリンクを作成します

ln -s /data/mysqldb/mysql.sock /tmp/mysql.sock;

または

2. php

のデフォルトのmysql.sock接続アドレスを変更します。

mysql.default_socket=/data/mysqldb/mysql.sock

3. TCPソケットを使用して接続します

mysql('127.0.0.1','ユーザー名','パスワード');

PHPのmysql_connect()関数を紹介しましょう

定義と使用法

mysql_connect() 関数は、非永続的な MySQL 接続を開きます。

文法

リーリー

パラメータ 説明
サーバー

オプション。接続するサーバーを指定します。

「hostname:port」などのポート番号、またはローカルホストの「:/path/to/socket」などのローカルソケットへのパスを含めることができます。

PHP ディレクティブ mysql.default_host が定義されていない場合 (デフォルトの場合)、デフォルト値は「localhost:3306」です。

ユーザー オプション。ユーザー名。デフォルト値は、サーバープロセス所有者のユーザー名です。
パスワード オプション。パスワード。デフォルト値は空のパスワードです。
新しいリンク オプション。 mysql_connect() が同じパラメータで 2 回目に呼び出された場合、新しい接続は確立されませんが、すでに開いている接続の ID が返されます。 new_link パラメータはこの動作を変更し、mysql_connect() が同じパラメータで以前に呼び出された場合でも、mysql_connect() が常に新しい接続を開くようにします。
クライアントフラグ

オプション。 client_flags パラメータには、次の定数を組み合わせることができます:

  • MYSQL_CLIENT_SSL - 使用 SSL 加密
  • MYSQL_CLIENT_COMPRESS - 使用压缩协议
  • MYSQL_CLIENT_IGNORE_SPACE - 允许函数名后的间隔
  • MYSQL_CLIENT_INTERACTIVE - 允许关闭连接之前的交互超时非活动时间

返回值

如果成功,则返回一个 MySQL 连接标识,失败则返回 FALSE。

提示和注释

注释:脚本一结束,到服务器的连接就被关闭,除非之前已经明确调用 mysql_close() 关闭了。
提示:要创建一个持久连接,请使用 mysql_pconnect() 函数。

例子

<&#63;php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// 一些代码...
mysql_close($con);
&#63;>

您可能感兴趣的文章:

  • mysql error 1130 hy000:Host''localhost''解决方案
  • 详解远程连接Mysql数据库的问题(ERROR 2003 (HY000))
  • mysql错误处理之ERROR 1786 (HY000)
  • mysql错误处理之ERROR 1665 (HY000)
  • MySQL错误ERROR 2002 (HY000): Can''t connect to local MySQL server through socket
  • MySQL ERROR 2013 (HY000)错误解决方法
  • mysql中一个普通ERROR 1135 (HY000)错误引发的血案

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1099060.htmlTechArticlePHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...,mysqlihy000 背景:把mysql换成mysqli时出现,连接数过多,其实际上并...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。