+ -
当前位置:首页 → 问答吧 → 怎麼回事??? 為何發表一篇心得分享,自己都看不到內容.

怎麼回事??? 為何發表一篇心得分享,自己都看不到內容.

时间:2010-12-19

来源:互联网

为何发表一篇心得分享,自己都看不到内容..................
就什么都没有.广告文还能在删除存证区找到.
心得分享却.....什么都没有..........
是系统有状况吗?

作者: bunko   发布时间: 2010-12-19

同样的内容贴过来看看呢?

我看那篇也是空的.... 不过如果是系统发文的问题, 你这篇也应该一样才对....
也许是内容造成的吧?

作者: twu2   发布时间: 2010-12-19

原本有一个link到本站其他篇,就是php版有人问到跟mysql连线的问题.
现在把link拿掉看看.

MySQL Federated storage engine 简单范例
----------------------------------------
1.环境介绍
  Mysql #1 Name: Akira
  Mysql #2 Name: Bunko

2.首先先在 Akira 里面建一个叫test1219a的database

create database test1219a;
use test1219a;
grant all on test1219a.* to 'akira'@'%' identified by 'akiraxyz';
flush privileges;
-------------------
然后再用akira登入

建立一个叫Author的Table
akira@[test1219a] Akira
==>CREATE TABLE Author
    -> (AuthorID smallint PRIMARY KEY,
    -> AuthorName varchar(255)
    -> );



3.然后在Bunko 建立一个叫 test1219b的database

create database test1219b;
use test1219b;
grant all on test1219b.* to 'bunko'@'%' identified by 'bunkonao';
flush privileges;
---------------------
接著用bunko登入,建立一个叫 rAuthor的table


bunko@[test1219b] Bunko
==>CREATE TABLE rAuthor
    -> (AuthorID smallint PRIMARY KEY,
    -> AuthorName varchar(255))
    -> engine=FEDERATED
    -> connection='mysql://akira:[email protected]:3307/test1219a/Author';
Query OK, 0 rows affected (0.07 sec)

可以看到上面要指定engine=FEDERATED ,还有连结的资料.包含登入user,password,host ip,port,
database,table组成.

现在select看看...
bunko@[test1219b] Bunko
==>select * from rAuthor;
Empty set (0.01 sec)

空的....正确!因为我们原始的Table也没有资料.

4.回到Akira

akira@[test1219a] Akira
==>insert into Author values(1, 'Agatha Christie');

akira@[test1219a] Akira
==>select * from Author;
+----------+-----------------+
| AuthorID | AuthorName      |
+----------+-----------------+
|        1 | Agatha Christie |
+----------+-----------------+

已插入一笔资料
--------------------------------------
到Bunko看看

bunko@[test1219b] Bunko
==>select * from rAuthor;
+----------+-----------------+
| AuthorID | AuthorName      |
+----------+-----------------+
|        1 | Agatha Christie |
+----------+-----------------+

可以顺利的看到Akira里面刚加入的资料.
现在我们在Bunko rAuthor新增资料.

bunko@[test1219b] Bunko
==>insert into rAuthor values(2, 'Stephen King');

到Akira

akira@[test1219a] Akira
==>select * from Author;
+----------+-----------------+
| AuthorID | AuthorName      |
+----------+-----------------+
|        1 | Agatha Christie |
|        2 | Stephen King    |
+----------+-----------------+

到此可以看到Akira/Bunko两个MySQL透过Federated storage engine
让两边都能轻易的存取到实际上存在Akira上的Table.

5. Join

在Bunko里面,再建立一个新Table : Books

bunko@[test1219b] Bunko
==>CREATE TABLE Books
    -> (BookID smallint NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> BookName varchar(255),
    -> AuthorID smallint NOT NULL,
    -> INDEX (AuthorID)
    -> );

插入4笔资料:

bunko@[test1219b] Bunko
==>INSERT INTO Books Values(NULL, 'Murder on the Orient Express', 1);

bunko@[test1219b] Bunko
==>INSERT INTO Books Values(NULL, 'Death on the Nile', 1);

bunko@[test1219b] Bunko
==>INSERT INTO Books Values(NULL, 'Different Seasons', 2);

bunko@[test1219b] Bunko
==>INSERT INTO Books Values(NULL, 'The Green Mile', 2);

然后Join

bunko@[test1219b] Bunko
==>SELECT b.BookID,b.BookName,a.AuthorName
    -> FROM Books b, rAuthor a
    -> where b.AuthorID = a.AuthorID;
+--------+------------------------------+-----------------+
| BookID | BookName                     | AuthorName      |
+--------+------------------------------+-----------------+
|      1 | Murder on the Orient Express | Agatha Christie |
|      2 | Death on the Nile            | Agatha Christie |
|      3 | Different Seasons            | Stephen King    |
|      4 | The Green Mile               | Stephen King    |
+--------+------------------------------+-----------------+

基本上到此已经运用Federated storage engine 在一道SQL Command里面进行
两个不同MySQL的Join查询.

6. 补充

回到Akira 用root登入,建立另一个user.只有对 test1219a.Author 有select权限.

root@[test1219a] Akira
==>grant select on test1219a.Author to 'selauthor'@'%' identified by 'authorsel';

root@[test1219a] Akira
==>flush privileges;

---------------------------------------------
一样在Bunko建立第二个 Table rAuthor2.

bunko@[test1219b] Bunko
==>CREATE TABLE rAuthor2
    -> (AuthorID smallint PRIMARY KEY,
    -> AuthorName varchar(255))
    -> engine=FEDERATED
    -> connection='mysql://selauthor:[email protected]:3307/test1219a/Author';

bunko@[test1219b] Bunko
==>select * from rAuthor2;
+----------+-----------------+
| AuthorID | AuthorName      |
+----------+-----------------+
|        1 | Agatha Christie |
|        2 | Stephen King    |
+----------+-----------------+


一样可以查询.....但是试试看INSERT INTO

bunko@[test1219b] Bunko
==>insert into rAuthor2 values(3, 'Louis Cha');
ERROR 1296 (HY000): Got error 10000 'Error on remote system: 1142: INSERT command denied to user 'selauthor'@'192.168.0.100' for table 'A' from FEDERATED


无法INSERT INTO.这样就不会改到原始资料了.
两种方式可以视实际的需求,选择适当的方式来连线作业.

作者: bunko   发布时间: 2010-12-19

看起来是新的那个 antispam 的 mod 有问题吧.

刚刚有 bot 上来发广告, 多数的文章跟你的情形一样, 应该是误判吧.

作者: twu2   发布时间: 2010-12-19