ホームページ  >  記事  >  バックエンド開発  >  CentOS7でMySQLがPHPに接続できない問題の解決方法

CentOS7でMySQLがPHPに接続できない問題の解決方法

PHPz
PHPzオリジナル
2023-04-13 09:20:09729ブラウズ

CentOS 7 オペレーティング システムを使用している場合、MySQL が PHP に接続できないという問題が発生する可能性があります。これは、CentOS 7 では MariaDB と MySQL の間に競合が発生し、データベースに接続できなくなるためです。この記事では、CentOS 7 で MySQL が PHP に接続できない問題の解決方法を紹介します。

1. MariaDB を無効にする

  1. MariaDB との競合を避けるために、まずそれを無効にする必要があります。次のコマンドを使用できます。

    systemctl stop mariadb.service #MariaDB サービスを停止します

    systemctl disable mariadb.service #MariaDB サービスを無効化します

  2. # #無効化後、MariaDB サービスが停止していることを確認する必要があります。次のコマンドを使用できます。

    systemctl status mariadb.service # MariaDB サービスのステータスを確認します

    ステータスが非アクティブと表示されている場合は、Mariadb サービスが停止していることを意味します。

2. MySQL のインストール

  1. MySQL の依存関係をインストールします:

    yum -y install wget

    yum -y install net-tools

  2. MySQL インストール パッケージをダウンロードします:

    wget https://dev.mysql.com/get/mysql57-community-release-el7 -11.noarch.rpm

  3. MySQL をインストールします:

    rpm -ivh mysql57-community-release-el7-11.noarch.rpm

    yum install mysql-community-server

  4. インストールが完了したら、MySQL を起動します。

    systemctl start mysqld

    systemctlenable mysqld

3. MySQL 設定を変更する

##MySQL に接続します:
  1. mysql -u root -p

    パスワードを入力してください

    MySQL 構成ファイルを変更します:
  2. vim /etc/my.cnf

    次の内容を [mysqld] の下に追加します。設定:
  3. skip-grant-tables

    初期化パスワード:

    use mysql;

    update user setauthentication_string=password('password') ここで、user ='root';

    flush権限;

    quit;

    構成ファイル内のskip-grant-tablesを次の内容に変更します:
  4. skip-grant-tables

    skip-character-set-client-handshake

    MySQL サービスを再起動します:
  5. MySQL サービス

    systemctl restart mysqld

    ##4. PHP 構成ファイルを変更します

##PHP 構成ファイルを編集します:

vim /etc/php .ini
  1. ##mysql.default_socket または mysqli.default_socket を検索し、MySQL ソケット ファイルのアドレスに変更します:

    mysql.default_socket = /var/lib/mysql/mysql.sock

  2. mysqli.default_socket = /var/lib/mysql/mysql.sock
  3. pdo_mysql.default_socket = /var/lib/mysql/mysql. sock

    変更を保存して終了します。

    5. 接続のテスト

  4. ターミナルに次のコードを入力します (ユーザー名とパスワードは自分で変更する必要があります):

$con = mysqli_connect("localhost","ユーザー名","パスワード");

    if (!$con)
  1. {

    die('Could not connect: ' . mysqli_error());

    }

    echo '接続に成功しました' ;
    mysqli_close($con);
    ?>

    ファイルを Apache のルート ディレクトリに保存し、ブラウザ経由でファイルにアクセスします。


    「正常に接続されました」と出力された場合は、PHP 経由で MySQL データベースに接続できることを意味します。テストが失敗した場合は、上記の手順を確認して問題を再度見つけてください。

    概要:
  2. 上記は、CentOS 7 で MySQL が PHP に接続できない問題の解決策です。困っている学生に役立つことを願っています。他にご質問がある場合は、メッセージを残してご相談ください。

    以上がCentOS7でMySQLがPHPに接続できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。