MySQL-实现跨数据库访问的完整教程-跨服务器数据访问指南 (mysql-bin文件可以删除吗)
在使用 MySQL 数据库时,用户经常会遇到需要访问其他服务器上的数据的场景。本文将介绍如何使用 FEDERATED 存储引擎实现跨服务器数据访问,并通过具体案例进行展示。
如何实现
在 MySQL 数据库中,可以通过 FEDERATED 存储引擎实现跨服务器数据访问。
启用 FEDERATED 存储引擎
要启用 FEDERATED 存储引擎,需要在MySQL 配置文件中添加以下配置:
[mysqld]
federated
添加配置后,重启 MySQL 服务即可启用 FEDERATED 存储引擎。
具体案例
假设服务器 A 实例中的 testdb1 库里有一张表 tb1,现在想在服务器 B 的 testdb2 中直接访问 testdb1 中的 tb1 表的数据。
实现步骤
1. 在服务器 A 中创建表
mysql> create table testdb1.tb1 (
> id int primary key,
> c1 varchar(20)
> );
2. 在服务器 A 中授予用户访问权限
mysql> grant all on testdb1. to t_user identified by 'Test2023.com';
3. 在服务器 B 中创建 FEDERATED 存储引擎表
mysql> create table testdb2.tb1 (
> id int,
> c1 varchar(20)
> ) engine=federated default connection='mysql://t_user:Test2023.com@serverA.example.com/testdb1.tb1';
4. 测试数据访问
在服务器 B 上,可以使用以下语句查询 testdb2_tb1 表中的数据:mysql> select from testdb2_tb1;
5. 数据操作
可以在服务器 B 上对 testdb2_tb1 表进行数据操作,这些操作会同步到服务器 A 的 testdb1.tb1 表中。例如:mysql> insert into testdb2_tb1 values (5, 'cc'), (6, 'ty');
mysql> delete from testdb2_tb1 where id=1;
mysql> update testdb2_tb1 set c1='bb' where id=2;
6. 限制
需要注意的是,FEDERATED 存储引擎有一些限制: 不支持所有 MySQL 特性,例如索引和外键。 数据更新可能会导致性能下降。 可能存在安全风险,因为需要在不同服务器之间建立连接。如何使用mysql workbench从外网访问内网mysql服务器
一台电脑上安装了Workbench,现需要访问另一台ubuntu服务器上的MySQL数据库,但mysql默认是不允许访问的,考虑到安全性问题,也不适合使用root用户来访问mysql。 这时我们就需要开放mysql服务器并创建新的用户来访问mysql。 1,开放mysqlmysql的配置文件在/etc/mysql/文件内,里面有一行bind-address = 127.0.0.1表示只允许本地访问,将这行注释即可2,创建新的mysql用户(1)首先在本地进入mysql数据库的mysql库内(2)创建用户:GRANT ALL ON *.* to user@IP IDENTIFIED BY password; 其中user表示需要创建用户的名字;IP表示哪台客户端想要访问mysql数据库;password表示密码;并赋予所有的权限。 (3)FLUSH PRIVILEGES;刷新mysql的系统权限相关表,否则会出现拒绝访问。 重启数据库也能达到这样的效果
如何在一台电脑上访问另一台电脑上的SQL数据库
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、然后在该界面中,另一台电脑的IP地址,登录名和登录密码。
3、之后在该界面中,点击“连接”按钮。
4、最后在该界面中,成功连接,显示另一台电脑上的SQL数据库。
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。