2017-03-03 54 views
0

我最近迁移我的mysql到另一台服务器, 迁移后,有点奇怪。mysql显示用户之间的不同数据

当我使用MySQL作为远程主机:

$ mysql -u root -p -h remote 
mysql> select id from People order by id desc limit 10; 
+-----+ 
| id | 
+-----+ 
| 941 | 
| 940 | 
| 939 | 
| 938 | 
| 937 | 
| 936 | 
| 935 | 
| 934 | 
| 933 | 
| 932 | 
+-----+ 

但是,当我从本地主机使用:

$ mysql -u root -p 
mysql> select id from People order by id desc limit 10; 
+-----+ 
| id | 
+-----+ 
| 939 | 
| 938 | 
| 937 | 
| 936 | 
| 935 | 
| 934 | 
| 933 | 
| 932 | 
| 931 | 
| 930 | 
+-----+ 

查询结果缺少2行!

我还要检查的特权:

远程情况下,它显示

mysql> show grants; 
+--------------------------------------------------------------------------------------------------------------------------+ 
| Grants for [email protected]                     | 
+--------------------------------------------------------------------------------------------------------------------------+ 
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'example.com' IDENTIFIED BY PASSWORD '521f3dd02c6d22f8' WITH GRANT OPTION | 
+--------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.01 sec) 

本地主机,它是有相同的权限,

mysql> show grants; 
+---------------------------------------------------------------------+ 
| Grants for [email protected]           | 
+---------------------------------------------------------------------+ 
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION | 
+---------------------------------------------------------------------+ 
1 row in set (0.00 sec) 

有人可以帮我,为什么查询结果用户@主机有什么不同?

+0

可能是id序列不同。? 。在一种情况下是先进的两个? .. – scaisEdge

+0

我发现原因,其原因是因为桌面崩溃在某种原因...谢谢你。 – SSARCandy

回答

0

好吧, 我终于找到原因了。

这似乎这个表崩溃某些原因,需要通过这些命令来修复
我转到MySQL数据目录和修复:

$ myisamchk -r People 
- recovering (with sort) MyISAM-table 'People' 
Data records: 703 
- Fixing index 1 
Data records: 705 

从输出可以看到失踪2纪录又回来了~~

0

我想你没有提交你的交易。当使用InnoDB表并激活隐式事务设置时,首先必须在您的第一个客户端中投入commit以使您的更改对所有用户可见。