我在本地服务器上有个数据库,通过多表查询创建了个视图,异地公司想建立个数据库给客户访问,内容只要和本地创建的视图完全一样就可以了,现在设想的是在本地创建vpn,异地公司通过vpn拨入然后和这个表实现同步,这样异地的客户只要访问异地的数据库就可以了,请问这样可以实现吗?如何实现?或者有什么更好的方法?注:本地服务器不允许做端口映射

解决方案 »

  1.   

    通过VPN是比较方便的一个方法。这样不需要做什么其它的东西,也无需要任何软件上的修改。
      

  2.   

    问题是异地公司的客户不能直接拨vpn,只能直接读取数据库,所以我需要在异地做个数据库,现在就是不知道怎么能把这个视图实时同步过去
      

  3.   

    知道他们的外网地址,本来做replication就可以了,现在又不能vpn,又不能NAT 映射,完全隔离了,整不了。
      

  4.   

    我有台服务器放在客户那的,我的服务器可以做vpn,客户只要访问我的服务器就可以了,但我不想同步整个数据库,只要同步一个视图就可以了
      

  5.   

    VIEW也是建立 在表基础上的,要么做复制,要么 导入数据
      

  6.   

    表同步:
    主机设置:修改my.ini增加:[mysqld]log-bin =server-id=1 sql-bin-update-same binlog-do-db=aa     #指定需要同步的数据库从机设置:修改my.iniserver-id=2master-host=192.168.0.160master-user=adminmaster-password=1master-port=3306master-connect-retry=60replicate-wild-do-table=aa.a  #指定需要同步的表replicate-wild-do-table=aa.b
      

  7.   

    分公司的服务器可以通过vpn连到数据库服务器的,但我不想把整个数据库同步过去
      

  8.   

    我在slave机器中添加如下内容
    [mysqld]
    server-id=2
    master-host=192.168.0.111
    master-user=bksl
    master-port=3306
    master-connect-retry=60
    replicate-do-table=demo.user为什么slave服务器的mysqld就启动不了了?把这些内容删掉又能启动了,请问哪里出错了?
      

  9.   

    增加同步的用户没有示例:
    grant replication slave,reload,super on *.* to [email protected] identified by 'slave'
      

  10.   

    这事我的错误日志
    120808 12:41:20 [Note] Plugin 'FEDERATED' is disabled.
    120808 12:41:20 InnoDB: The InnoDB memory heap is disabled
    120808 12:41:20 InnoDB: Mutexes and rw_locks use Windows interlocked functions
    120808 12:41:20 InnoDB: Compressed tables use zlib 1.2.3
    120808 12:41:20 InnoDB: Initializing buffer pool, size = 47.0M
    120808 12:41:20 InnoDB: Completed initialization of buffer pool
    120808 12:41:21 InnoDB: highest supported file format is Barracuda.
    120808 12:41:21  InnoDB: Waiting for the background threads to start
    120808 12:41:22 InnoDB: 1.1.8 started; log sequence number 1634859
    120808 12:41:22 [ERROR] C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: unknown variable 'master-host=192.168.0.173'
    120808 12:41:22 [ERROR] Aborting120808 12:41:22  InnoDB: Starting shutdown...
    120808 12:41:22  InnoDB: Shutdown completed; log sequence number 1634859
    120808 12:41:22 [Note] C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: Shutdown complete
      

  11.   

    别在你的INI文件中改。网上复制来的东西。
    你的版本需要用
    CHANGE MASTER TO 
      

  12.   

    Mysql版本从5.1.7以后开始就不支持“master-host”类似的参数;
    示例:
    change master to master_host='192.168.0.100', master_user='slave', master_password='******', master_log_file='mysql-bin.000010', master_log_pos=16860;
    slave start;