guirong/php-database

A Simple Database Operation Library for PHP

1.0 2023-07-25 17:25 UTC

This package is auto-updated.

Last update: 2024-10-26 06:12:04 UTC


README

License Php Version GitHub tag (latest by date)

php的一个简单数据库操作依赖包。

项目地址

注意:

  • 版本要求 php >= 5.5.0

安装

composer require guirong/php-database

数据库备份

Mysql数据库备份,生成.sql文件:

  • 示例: (备份数据库 my_database )

初始化mysql服务

<?php

use Guirong\Database\Backup\MysqlBackup;

$config = [
            'host' => '127.0.0.1',
            'database' => 'my_database',
            'username' => 'my_username',
            'password' => 'my_password',
            'port' => 3306,
        ];
$server = new MysqlBackup($config['host'],$config['username'],$config['database'],$config['password'],$config['port']);

设置.sql备份文件存储目录,执行备份

$backupDir = '/www/wwwroot/my_project/database/backup/';

$result = $server->backup($backupDir);

if(!$result){
    echo '备份失败,错误信息:'.$server->getError();
    exit;
}

// 备份成功,获取备份文件路径
$backupFile = $server->getResponse();

如果某些表无需备份,你可以在备份前忽略它们

$tables = ['table_shop','table_user','table_goods'];

$result = $server->setIgnoreTable($tables)->backup($backupDir);

备份成功后,获得文件路径,如: /www/wwwroot/my_project/database/backup/mysql-my_database-202307131630.sql

如果你不想自动生成备份文件名,你可以自行指定

$backupFileName = '我的mysql备份文件-1';

$result = $server->setBackupFilename($backupFileName)->setIgnoreTable($tables)->backup($backupDir);

备份成功后,获得文件路径: /www/wwwroot/my_project/database/backup/我的mysql备份文件-1.sql

数据库恢复

Mysql数据库恢复,导入.sql文件:

  • 示例: (恢复数据库 my_database )

初始化mysql服务

<?php

use Guirong\Database\Backup\MysqlBackup;

$config = [
            'host' => '127.0.0.1',
            'database' => 'my_database',
            'username' => 'my_username',
            'password' => 'my_password',
            'port' => 3306,
        ];
$server = new MysqlBackup($config['host'],$config['username'],$config['database'],$config['password'],$config['port']);

指定.sql备份文件,执行导入,恢复数据

$backupFile = '/www/wwwroot/my_project/database/backup/mysql-my_database-202307131630.sql';

$result = $server->setRecoveryFile($backupFile)->recovery();

if(!$result){
    echo '恢复失败,错误信息:'.$server->getError();
    exit;
}

如果只需恢复某些表的数据,你可以指定它们

$tables = ['table_shop','table_user','table_goods'];

$server->setRecoveryFile($backupFile)->setRecoveryTable($tables)->recovery();

结语

当前的数据库操作依赖包仅供参考,备份数据量巨大的数据库时请谨慎使用。

License

MIT

我的其他项目

guirong/cli-message github

一个简单易用的,命令行输出样式工具库

guirong/php-router github

轻量且快速的路由库

guirong/php-closure github

闭包的序列化和反序列化类库

guirong/php-validate github

一个轻量级且功能丰富的验证和过滤库

guirong/php-event github

一个简洁小巧的php事件监听器

guirong/php-shell github

一个基于psysh shell的命令行交互模式依赖包

guirong/laravel-validate github

基于Laravel 验证器扩展验证场景