使用 Drupal 开发的项目迁移的初始化文档

使用 Drupal 开发的项目迁移的初始化文档:

  1. 下载项目文件
    git clone git@github.com:dravenk/myweb.git

  2. 进入到项目目录
    cd myweb

  3. 使用代码安装新的应用
    sudo drush si --db-url=mysql://root:rootpass@localhost:3306/db_dbtest --account-pass=Password

  4. 删除 shortcut link 数据
    drush sqlq 'truncate table shortcut; truncate table shortcut_field_data;'

  5. 查看配置文件中的 uuid ,例如 myweb 项目配置目录为 sites/default/config/sync
    cat sites/config/sync/system.site.yml

  6. 拷贝 system.site.yml 中的 {uuid} ,更改新应用的 uuid 为旧的配置文件中的 uuid ,执行
    drush cset system.site uuid {uuid}

  7. 设置 settings.php 中的 $config_directories 中的参数与原有配置文件相同路径,例如 myweb 的 settings.php
    $config_directories['sync'] = 'sites/config/sync';

  8. 更新应用 uuid 后,导入配置
    drush cim -vy

一个与原有的使用 Drupal 建立的项目,就这样建立了一个完全的副本。
注: 对于第二步中使用的命令后参数详细,请参考 drush 设置,
Reference :
drush 8 site-install
drupal 8 configuration management

Login blocked after 5 failed login attempts

Drupal 防止对帐户的暴力攻击。它阻止登录的用户登录尝试次数超过5次(6小时内)或登录尝试次数超过50次(一小时内)的IP地址。
登录失败的数量记录在“flood”表中。您可以等待再次登录(6小时),或者按照以下步骤清理 flood 表。
如果您忘记密码,请生成新密码并更新数据库。
在Drupal数据库上执行以下查询:

`DELETE FROM `flood`;`  

如果上面的命令不行,请尝试:

`TRUNCATE flood RESTART IDENTITY;`  

要执行此查询,将需要登录到数据库。这通常通过命令行或通过GUI界面(如phpMyAdmin)完成。如果Drush安装在您的服务器上,drush sql-cli 命令可以快速访问SQL命令行界面。
从命令行,使用Drush执行:

`drush php-eval 'db_query("DELETE FROM `flood`");'`

注意:上面的查询将删除洪泛表中的所有条目。如果要仅从洪泛表中删除特定用户的条目,则更具体。

`DELETE FROM flood WHERE event = 'failed_login_attempt_user' AND identifier LIKE '1234-%';`

(其中1234是被阻止的用户的UID)

Reference
https://www.drupal.org/node/1023440
其他 :
通过PHPMyAdmin或MySQL cli清空Flood表:

`DELETE FROM `flood`;.`

或者在命令行执行:

`drush eval "db_delete('flood')->execute();"

数据库,库用户操作

数据库,库用户操作

登录mysql -uroot -proot
查看数据库(database name)
mysql> show databases;
创建数据库:
CREATE DATABASE dkdatabase
切换到数据库,例如切换到dkdatabase:
use dkdatase;

查看数据库状态:
status;
查看存储情况:
show procedure status;

更改root 用户密码,例如更改为 DKpass:
UPDATE user SET Password = DKpass WHERE user = 'root';

创建用户并授权

授权数据库用户 dk ,允许其从本机连接到MySql服务器,对 dkdata 库中的所有表具有完全权限
使用密码"123456"验证。
mysql>grant all privileges on dkdata.* dk@'localhost' identified by '123456';
eg:授权数据库用户dk2,允许其从网段192.168.0.0/66中访问、查询dkdata库中的所有表、使用密码123456进行验证。
mysql>grant select on dkdata.* to dk2@'192.168.0.0/66' identified by "123456";
eg:授权数据库用户dk3,允许其从benet.com域内的任何主机访问、并且对dkdata库下的所有表具有 selectinsert权限,使用密码123456验证。
mysql>grant select,insert on dkdata.* dk3@'%benet.com' identified by "123456";

PHPstorm 在 mac 上配置 xdebug

说明:
操作系统:MAC
开发环境:Docker
开发工具:PHPstrom
debug 工具:Xdebug
由于大部分电脑在连接上网络后都是获取动态 IP 地址,所以首先将网卡 IP 设置为静态 IP,通过
sudo ifconfig en0 alias 10.254.254.254 255.255.255.0
将en0的 IP 设置静态的 IP 别名
通过 ifconfig查看网卡 IP,

找到en0: ,发现类似如下内容
inet 10.254.254.254 netmask 0xff000000 broadcast 255.255.255.0
然后编辑xdebug.ini
vim /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
没有vim的话,可以使用 nano,修改为成如下内容:

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so  
xdebug.remote_enable=true  
xdebug.remote_host=10.254.254.254    
memory_limit = 1024M  

接下来,我们需要配置 PHPstorm :
Prefences,或者按【command+,】
选择:
Languages&Frameworks>PHP>Serves

  • 按你项目访问方式(浏览器 URL)填写HostPort

  • Debugger选择 Xdebug;

  • 勾选 Use path mappings(select if the server is remote or symlinks are used);

  • Fiele/Directory 选择你的项目路径;

  • Absolute path on the server 选择映射到 docker container 的内部路径;

Docker for drupal developer

https://github.com/zfuming/docker-php-dev
https://github.com/INsReady/docker-drupal-dev

数据库表操作

查看数据表:
show tables;

创建数据表,
格式:CREATE TABLE 表名(字段定义,字段定义);
CREATE TABLE tabalesname( column);

删除数据库 dkdata 中的 users 表
drop table dkdata.users;

查看数据库表结构
desc 数据表名
例如:show node.field.dkdk
同等的还有:
show columns from tables.name;

查看表数据
例如查看node.hello.tables
SELECT * FROM node.hello.tables