guirong / php-database
A Simple Database Operation Library for PHP
1.0
2023-07-25 17:25 UTC
Requires
- php: >=5.5.0
This package is auto-updated.
Last update: 2024-10-26 06:12:04 UTC
README
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
我的其他项目
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
验证器扩展验证场景