大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

php系统数据迁移 php网站迁移

php实现redis数据库指定库号迁移的方法

这篇文章主要介绍了php实现redis数据库指定库号迁移的方法,涉及对于redis数据库的操作技巧,非常具有实用价值,需要的朋友可以参考下

创新互联服务项目包括安徽网站建设、安徽网站制作、安徽网页制作以及安徽网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,安徽网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到安徽省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

本文实例讲述了php实现redis数据库指定库号迁移的方法,分享给大家供大家参考。具体如下:

redis普通的数据库迁移,只能整个redis

save,或者利用主从,当然也可以安装一个redis-dump,不过比较麻烦,这里提供一种php的脚本,实现指定库号的迁移,其实也就是遍历根据存储类型,读出来,插入新库,效果是这样:

代码如下:

[root@localhost

~]#

php

1.php

1/407

101/407

201/407

301/407

401/407

PHP实例代码如下:

代码如下:

?php

$from

=

'10.0.2.52:6379/7';

$to

=

'127.0.0.1:6379/7';

$from_redis

=

redis_init($from);

$to_redis

=

redis_init($to);

$keys

=

$from_redis-keys('*');

$count

=

0;

$total

=

count($keys);

foreach($keys

as

$key){

if(++$count

%

100

==

1){

echo

"$count/$totaln";

}

$type

=

$from_redis-type($key);

switch($type){

case

Redis::REDIS_STRING:

$val

=

$from_redis-get($key);

$to_redis-set($key,

$val);

break;

case

Redis::REDIS_LIST:

$list

=

$from_redis-lRange($key,

0,

-1);

foreach($list

as

$val){

$to_redis-rPush($key,

$val);

}

break;

case

Redis::REDIS_HASH:

$hash

=

$from_redis-hGetAll($key);

$to_redis-hMSet($key,

$hash);

break;

case

Redis::REDIS_ZSET:

$zset

=

$from_redis-zRange($key,

0,

-1,

true);

foreach($zset

as

$val=$score){

$to_redis-zAdd($key,

$score,

$val);

}

break;

}

}

function

redis_init($conf){

$redis

=

new

Redis();

preg_match('/^([^:]+)(:[0-9]+)?/(.+)?/',

$conf,

$ms);

$host

=

$ms[1];

$port

=

trim($ms[2],

':');

$db

=

$ms[3];

$redis-connect($host,

$port);

$redis-select($db);

return

$redis;

}

?

希望本文所述对大家的php程序设计有所帮助。

如何在PHP项目中使用phinx进行数据迁移和建表

建表

phinx\bin\phinx.bat migrate -e production

建设 phinx.yml文件

paths:

migrations: %%PHINX_CONFIG_DIR%%\database\migrations

seeds: %%PHINX_CONFIG_DIR%%\database\seeds

environments:

default_migration_table: phinxlog

default_database: development

production:

adapter: mysql

host: localhost

name: jitamin2

user: root

pass: ‘‘

port: 3306

charset: utf8

development:

adapter: mysql

host: localhost

name: development_db

user: root

pass: ‘‘

port: 3306

charset: utf8

testing:

adapter: mysql

host: localhost

name: testing_db

user: root

pass: ‘‘

port: 3306

charset: utf8

数据迁移命令如下:

phinx\bin\phinx.bat seed:run -e production

%%PHINX_CONFIG_DIR%%\database\seeds下面的文件示例CreateGroupsTable.php如下:

?php

/*

* This file is part of Jitamin.

*

* Copyright (C) Jitamin Team

*

* For the full copyright and license information, please view the LICENSE

* file that was distributed with this source code.

*/

use Jitamin\Foundation\Security\Role;

use Phinx\Seed\AbstractSeed;

class UserSeeder extends AbstractSeed

{

/**

* Run Method.

*/

public function run()

{

$data = [

[

‘username‘ = ‘admin‘,

‘password‘ = bcrypt(‘admin‘),

‘email‘ = ‘admin@admin.com‘,

‘role‘ = Role::APP_ADMIN,

],

];

$users = $this-table(‘users‘);

$users-insert($data)

-save();

}

}

【数据迁移】MAC+PHP开发环境

折磨了我两年多的老mac,终于还是决定换新机了。

老mac上已经装了很多东西,也是我一直忍着不换的原因。在换机之前还一直担心,这么多东西要装死我呀。还好 一百度发现优秀的苹果有自带数据迁移的功能。

数据迁移 自行百度,很简单,过程中没遇到啥问题。

主要说遇到的问题

死活不让建啊,百度说需要在安全模式下关闭SIP

结果问题2诞生了 这安全模式不论是 command+R 还是 command+option+R+P 还是 shift 统统进不去,救命了,重启了半天死活进不去

百度了半天,最后找运维大佬求助,找到了这个

哦,原来咱是11.4的版本,咱得用芯片的方式进入安全模式

然后呢,这安全模式也怪坑的,贼难进。

具体就是先关机,然后按开机键,然后死死按住开机键,直到看到那一行小字变成另一行小字了就赶快放手了,继续按着就关机了。。。

然后呢,咱要进安全模式,咱不能选左边的磁盘,要选右边的选项,不然你要是进了左边的磁盘然后执行那个命令 啥 csrutil disable 哎哟人家就一直提示咱 这得从安全模式下才能执行

然后咱又懵了 啥?我这不是安全模式吗???

正确操作是 进右边那个选项,然后等他loading完,左上角有个实用工具,然后就在那里打开终端,执行csrutil disable这个命令,ok 成功了!

具体就是 按这个来,只是版本如果是11的,得按芯片的方式进入安全模式。

然后按文档说的,咱要重启 再mount一下就完事了吧~好叻 那么问题3也来了

啥玩意?咱好不容易进了安全模式把那啥安全模式给关了,你咋还不让挂载呢,这都整半天了,搞啥玩意?

再一顿百度,可算找到正解了

看看你的mac 的系统版本,如果是[Cataline] 也就是11之前的,使用方法一

mac的版本 11.0 之后的用下面,Mac Big Sur 使用方法二

方法二根本不需要用到安全模式,哈哈哈哈哈。。不知道哭好还是笑好

所以咱按方法二很快搞定了

然后启动nginx,之前配置nginx文件里一些路径和现在有点出入,改一下

就行了。

之前是搞过的,但是迁移到新机后,phpstorm就一直提示应用程序phpstorm不能打开,应该是跟激活有关

进到 /Applications/PhpStorm.app/Contents/MacOS 下发现

php网站搭建的数据库如何转移

把A中的q1倒出来 mysqldump -uadmin1 -padmin111 Q1 Q1.sql

然后再B中新建Q2,create database Q2

应用Q2 use Q2

导入Q1 source Q1.sql

赋予用户 grant all privileges on Q2.* to 'admin2'@localhost identified by 'admin2222'

这样就可以了!


网站栏目:php系统数据迁移 php网站迁移
本文来源:http://dzwzjz.com/article/hpejgh.html
在线咨询
服务热线
服务热线:028-86922220
TOP