PHP使用mysql_xdevapi扩展连接MySQL8

PHP要使用XdevAPI扩展连接MySQL8,首先要安装MySQL8,而且需要为PHP安装配置mysql_xdevapi扩展,见之前的教程PHP8安装MySQL xdevapi扩展

装好之后就可以连接了。

示例代码

<?php
try {
    $session = \mysql_xdevapi\getSession("mysqlx://username:password@127.0.0.1:33060");
    var_dump($session);

    //创建schema和collection,相当于数据库和表
    $schema = $session->createSchema('test_dbx');
    $collection = $schema->createCollection('collection_a');

    //创建后下次可直接获取schema和collection
    //$schema = $session->getSchema( "test_dbx" );
    //$collection = $schema->getCollection( "collection_a" );

    $data1 = ['category' => 'dog', 'num' => 1];
    $data2 = ['category' => 'cat', 'num' => 2];

    $result1 = $collection->add($data1)->execute();
    $result2 = $collection->add($data2)->execute();

} catch(\Exception $e) {
    die("Exception occured: " . $e->getMessage());
}

注意点

  1. MySQL8的X协议默认连接端口是33060而不是3306,要使用mysqlx协议而不是mysql,新增数据得通过X协议;
  2. 查询数据可通过传统方式使用3306端口连接

Leave a Comment

豫ICP备19001387号-1