Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menyelesaikan masalah yang thinkphp tidak dapat menyambung ke pangkalan data mysql

Bagaimana untuk menyelesaikan masalah yang thinkphp tidak dapat menyambung ke pangkalan data mysql

WBOY
WBOYke hadapan
2023-05-30 09:28:521375semak imbas

Langkah pertama ialah menyemak fail konfigurasi

Apabila menyambung ke pangkalan data MySQL, anda perlu menetapkan parameter yang berkaitan dalam fail konfigurasi. ThinkPHP menggunakan fail config.php, yang terletak dalam direktori Application/Common/Conf/. Dalam fail ini, kita perlu menetapkan parameter berkaitan pangkalan data, seperti berikut:

return array(
    // 数据库配置
    'DB_TYPE'   => 'mysql',     // 数据库类型
    'DB_HOST'   => '127.0.0.1', // 服务器地址
    'DB_NAME'   => 'test',      // 数据库名
    'DB_USER'   => 'root',      // 用户名
    'DB_PWD'    => '',          // 密码
    'DB_PORT'   => '3306',      // 端口
    'DB_PREFIX' => '',          // 数据库表前缀
);

di mana, DB_TYPE mewakili jenis pangkalan data, berikut ialah mysql. DB_HOST mewakili alamat pelayan MySQL Jika dijalankan secara setempat, isikan 127.0.0.1 atau localhost. DB_NAME mewakili nama pangkalan data, yang perlu dibuat terlebih dahulu. DB_USER ialah nama pengguna untuk menyambung ke pangkalan data MySQL, DB_PWD ialah kata laluan nama pengguna, DB_PORT ialah nombor port dan DB_PREFIX ialah awalan jadual pangkalan data. Perlu diingatkan bahawa parameter ini perlu ditetapkan mengikut situasi sebenar anda.

Jika anda tidak boleh menyambung ke pangkalan data MySQL, anda perlu mengesahkan sama ada parameter ini ditetapkan dengan betul. Jika nama pengguna atau kata laluan salah, ia perlu diperbetulkan.

Langkah kedua ialah menyemak sama ada pelayan MySQL telah dimulakan

Sebelum menyambung ke pangkalan data, anda perlu memastikan pelayan MySQL telah dimulakan. Jika pelayan MySQL tidak dimulakan, sambungan tidak akan berjaya diwujudkan. Untuk menyemak sama ada pelayan MySQL telah dimulakan, taip arahan berikut, untuk Linux atau Mac OS Jika ia tidak dimulakan, anda perlu menggunakan arahan berikut untuk memulakan pelayan MySQL:

$ ps aux | grep mysqld

Arahan di atas memulakan pelayan MySQL dan perlu diubah mengikut sistem operasi yang anda gunakan.

Langkah ketiga, semak sama ada pelayan MySQL membenarkan sambungan jauh

Jika anda ingin menyambung ke pelayan MySQL secara setempat, anda boleh mengabaikan langkah ini. Walau bagaimanapun, jika pelayan MySQL anda tidak berada pada mesin yang sama dengan pelayan web, anda perlu menyemak sama ada pelayan MySQL membenarkan sambungan jauh. Sambungan tidak akan berjaya diwujudkan jika pelayan MySQL melarang sambungan jauh. Sama ada pelayan MySQL membenarkan sambungan jauh ditetapkan melalui parameter

. Jika nilai parameter

ditetapkan kepada

, pelayan MySQL tidak membenarkan sambungan jauh jika ditetapkan kepada

, pelayan MySQL membenarkan semua sambungan jauh. Anda boleh melihat tetapan parameter ini dalam fail konfigurasi MySQL. Di Ubuntu, fail ini terletak di bind-address, dan pada CentOS atau RHEL, fail ini terletak di bind-address. Dalam fail ini, konfigurasi parameter 127.0.0.1 boleh ditemui. Parameter ini perlu ditetapkan kepada 0.0.0.0 untuk membenarkan sambungan jauh. /etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnfJika anda telah menetapkan parameter bind-address kepada 0.0.0.0 tetapi masih tidak dapat menyambung ke pelayan MySQL dari jauh, anda perlu menyemak sama ada pelayan anda berdinding api Jika tembok api tidak dikonfigurasikan dengan betul, ia boleh menyebabkan sambungan gagal.

bind-addressLangkah 4, semak kebenaran pengguna MySQL 0.0.0.0

Dalam MySQL, kebenaran pengguna juga boleh menyebabkan masalah sambungan. Jika nama pengguna tidak mempunyai kebenaran untuk mengakses pangkalan data yang diperlukan, sambungan tidak boleh berjaya diwujudkan. Dalam pelayan MySQL, anda boleh menggunakan arahan berikut untuk melihat kebenaran pengguna:

root     14120  0.0  0.6 340248 11448 ?        Ssl  08:21   0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Arahan di atas menyemak kebenaran pengguna

apabila menyambung ke pelayan MySQL secara setempat. Jika anda menyambung ke pelayan MySQL dari jauh, anda perlu menggantikan

dengan alamat IP atau nama hos yang anda gunakan. Jika kebenaran kepada pangkalan data yang diperlukan tiada daripada output, anda perlu memberikan kebenaran yang sepadan kepada pengguna:

$ sudo systemctl start mysql

Arahan di atas memberikan root pengguna semua kebenaran untuk mengakses pangkalan data dan set localhost Kata laluan pengguna ialah

.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah yang thinkphp tidak dapat menyambung ke pangkalan data mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam