You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CodeIgniter数据库迁移至Google Cloud SQL及配置疑问

刚接触Google Cloud SQL确实会有点摸不着头脑,我来一步步帮你搞定数据库迁移和CodeIgniter配置的问题:

一、导出本地数据库并导入到Google Cloud SQL

既然没有phpMyAdmin,咱们用命令行工具来操作,这是最稳定可靠的方式:

1. 导出本地数据库

打开你的终端(Windows用CMD/PowerShell,Mac/Linux用Terminal),执行mysqldump命令导出数据:

mysqldump -u 本地数据库用户名 -p 本地数据库名 > database_backup.sql

执行后输入本地数据库的密码,回车后就会生成一个名为database_backup.sql的备份文件,里面包含你所有的表和数据。

2. 导入到Cloud SQL

有两种简单的方式,选你顺手的:

方式1:通过Google Cloud Console网页操作

  • 登录Google Cloud控制台,找到你的Cloud SQL实例,进入导入页面
  • 先把刚才的database_backup.sql上传到Google Cloud Storage(如果文件很小,也可以直接选择本地文件上传;大文件建议先存到GCS)
  • 如果还没在Cloud SQL里创建目标数据库,先去数据库页面新建一个(名字可以和本地数据库一致,方便后续配置)
  • 选择上传好的备份文件,指定目标数据库,点击导入等待完成即可

方式2:用gcloud命令行工具

如果已经安装了Google Cloud SDK,直接执行以下命令(记得先把备份文件上传到GCS存储桶):

gcloud sql import sql 你的Cloud SQL实例名 gs://你的GCS存储桶名/database_backup.sql --database=目标数据库名
二、获取Cloud SQL的连接信息(对应CodeIgniter的配置项)

这些信息都能在Cloud SQL控制台找到,别着急:

  • 主机(hostname):
    • 用公网连接:在实例的连接页面,找到公网IP,直接填这个IP地址
    • 用更安全的Cloud SQL Proxy:填127.0.0.1(Proxy会把本地端口转发到Cloud SQL实例)
  • 用户名(username):默认是root,如果你创建了自定义用户,就用对应的用户名
  • 密码(password):是你创建Cloud SQL实例时设置的root密码;如果忘了,去控制台的用户页面重置即可
  • 数据库名(database):就是你刚才导入数据时指定的数据库名称,或者你新建的那个数据库名
三、修改CodeIgniter的数据库配置文件

把你的database.php里的配置替换成Cloud SQL的信息就行,示例如下:

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
    'dsn' => '',
    'hostname' => '你的Cloud SQL公网IP或者127.0.0.1(用Proxy时)',
    'username' => 'root', // 替换成你的实际用户名
    'password' => '你的Cloud SQL密码', // 替换成你的实际密码
    'database' => '你的数据库名', // 替换成你的实际数据库名
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

小提示:如果用Cloud SQL Proxy,需要先启动它,命令大概是这样的(根据你的系统下载对应版本的Proxy工具):

./cloud_sql_proxy -instances=你的Google Cloud项目ID:实例区域:实例名=tcp:3306

启动后本地的3306端口就会和Cloud SQL实例连通,此时hostname填127.0.0.1即可。

内容的提问来源于stack exchange,提问作者Emmanuel agahiu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:41:09