两台windows服务器(mysql),怎么在一台服务器进行跨服务器查询,不用federated引擎的话。
小魔女参考了bing和GPT部分内容调写:
要在一台服务器上进行跨服务器查询,不用federated引擎,可以使用MySQL的远程连接功能。首先,需要在MySQL服务器上开启远程连接,这样另一台服务器才能连接到MySQL服务器。具体步骤如下:
[mysqld]
bind-address = 0.0.0.0
重启MySQL服务器,使配置生效。
在MySQL服务器上,使用root用户登录,执行以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
mysql -h <hostname> -u <username> -p
SELECT * FROM <database>.<table>;
以上就是在一台服务器上进行跨服务器查询,不用federated引擎的方法。
回答不易,记得采纳呀。
“Devil组”引证GPT后的撰写:
可以使用 MySQL 中提供的远程连接功能来实现在一台服务器上查询另一台服务器的数据。
具体步骤如下:
1.在要查询数据的服务器上,修改 MySQL 配置文件 my.cnf(或者 my.ini),将 bind-address 配置为服务器的 IP 地址或者 0.0.0.0,以允许远程连接到 MySQL 服务器。然后重启 MySQL 服务。
# my.cnf
bind-address = 0.0.0.0
在 MySQL 中创建一个允许远程连接的用户,并为其授权。
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
上面的命令中,remote_user 是要创建的用户的名称,password 是该用户的密码。% 表示该用户可以从任意 IP 地址连接到 MySQL 服务器。
在要查询数据的服务器上,使用 MySQL 客户端连接到另一台服务器的 MySQL 服务。
mysql -h <remote_server_ip> -u remote_user -p
上面的命令中, 是远程 MySQL 服务器的 IP 地址或者域名,remote_user 是在远程 MySQL 服务器上创建的允许远程连接的用户,-p 表示需要输入该用户的密码。
在连接上远程 MySQL 服务器后,就可以在该服务器上查询远程服务器上的数据了。
SELECT * FROM remote_database.remote_table;
上面的命令中,remote_database 和 remote_table 分别是远程服务器上的数据库和表的名称。可以根据实际情况进行修改。
不知道你这个问题是否已经解决, 如果还没有解决的话: