在MySQL中,使用mysqli_connect()函数连接远程数据库是错误的方法。mysqli_connect()函数是PHP中用于连接MySQL数据库的函数,而不是在MySQL存储过程中使用的函数。

在MySQL存储过程中连接远程数据库,可以使用FEDERATED存储引擎或者通过建立连接字符串使用CONNECT语句。

  1. 使用FEDERATED存储引擎:

    • 首先,确保MySQL服务器已启用FEDERATED存储引擎。可以通过在my.cnf配置文件中的[mysqld]部分添加以下行来启用它:
      federated
      
    • 创建一个FEDERATED表,用于连接远程数据库。例如,假设远程数据库的地址是192.168.1.100,用户名是root,密码是123456,数据库名是remote_db,可以使用以下语句创建FEDERATED表:
      CREATE TABLE federated_table (
        id INT(11) NOT NULL AUTO_INCREMENT,
        name VARCHAR(50),
        PRIMARY KEY (id)
      )
      ENGINE=FEDERATED
      CONNECTION='mysql://root:123456@192.168.1.100:3306/remote_db/table_name';
      
    • 在存储过程中可以直接使用FEDERATED表进行查询。
  2. 使用CONNECT语句:

    • 首先,确保MySQL服务器已启用CONNECT存储引擎。可以通过在my.cnf配置文件中的[mysqld]部分添加以下行来启用它:
      plugin-load=connect.so
      
    • 在存储过程中可以使用CONNECT语句来连接远程数据库,并进行查询。例如,假设远程数据库的地址是192.168.1.100,用户名是root,密码是123456,数据库名是remote_db,可以使用以下语句连接远程数据库并进行查询:
      SET @connstr = 'server=192.168.1.100;uid=root;pwd=123456;database=remote_db';
      SET @sql = 'SELECT * FROM table_name';
      INSERT INTO table_name SELECT * FROM connect(@connstr, @sql);
      

请根据具体情况选择适合的方法来连接远程数据库,并进行相应的操作

mysql mysql存储过程连接查询远程数据库 mysqli_connect 远程地址 1270013306 root 123456 mysqli_connect 报错 FUNCTION lvmhuatmysqli_connect does not exist 怎么解决

原文地址: https://www.cveoy.top/t/topic/hJ6x 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录