温馨提示×

ubuntu怎么连接thinkphp数据库

小樊
47
2026-09-25 20:19:03
栏目: 编程语言

在 Ubuntu 上让 ThinkPHP 连接数据库,一般分三步:装数据库 → 建库建用户 → 配置 ThinkPHP。下面以最常见的 MySQL / MariaDB + ThinkPHP 6 为例说明。


一、Ubuntu 安装数据库(MySQL 示例)

sudo apt update
sudo apt install mysql-server

启动并设置开机自启:

sudo systemctl start mysql
sudo systemctl enable mysql

安全初始化(可选但推荐):

sudo mysql_secure_installation

二、创建数据库和用户(ThinkPHP 用)

登录 MySQL:

sudo mysql -u root -p

创建数据库和用户:

CREATE DATABASE tp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

CREATE USER 'tp_user'@'localhost' IDENTIFIED BY '123456';

GRANT ALL PRIVILEGES ON tp_db.* TO 'tp_user'@'localhost';

FLUSH PRIVILEGES;
EXIT;

三、ThinkPHP 配置数据库连接

1️⃣ 项目位置(假设在)

/var/www/html/tp

2️⃣ 修改配置文件

ThinkPHP 6 配置文件:

config/database.php

示例配置:

return [
    'default' => 'mysql',
    'connections' => [
        'mysql' => [
            'type'     => 'mysql',
            'hostname' => '127.0.0.1',
            'database' => 'tp_db',
            'username' => 'tp_user',
            'password' => '123456',
            'hostport' => '3306',
            'charset'  => 'utf8mb4',
            'prefix'   => 'tp_',
        ],
    ],
];

四、测试是否连接成功

在控制器中写测试代码:

use think\facade\Db;

public function test()
{
    $res = Db::query("SELECT VERSION()");
    dump($res);
}

浏览器访问或命令行:

php think run

五、常见问题

❌ 连不上数据库

  • MySQL 没启动
  • 用户权限不对
  • 使用了 localhost 但 PHP 用 socket(可改成 127.0.0.1)

❌ 远程连接

如果是远程数据库:

CREATE USER 'tp_user'@'%' IDENTIFIED BY '123456';

并修改:

'hostname' => '服务器IP',

如果你用的是 ThinkPHP 5 / 8、PostgreSQL、Docker 或 远程数据库,可以告诉我,我给你对应方案。

0 踩