两大知识点:
一、开启虚拟机 XP的telnet服务。
并不是说简单的在服务里开启telnet服务就可以了。
几个关键点:首先要ping通开启远程主机的ip,否则一切免谈。
防火墙关闭。
还有一个不知是否无关紧要的:开启除了管理员账户之外的第二个账户,有待考证。
与共享文件端口是否有关?个人感觉无关,但机器153端口已开启
二、mysql远程登陆权限设置。
mysql>grant select,insert,update,delete,create,drop on mydb.mytable to lzpddd@192.168.1.88 identified by 'mypassword';
给来自192.168.1.88的用户lzpddd分配可对数据库 mydb的mytable表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为'mypassword';
或者
mysql>grant all privileges on *.* to lzpddd@192.168.1.88 identified by 'mypassword';
给来自192.168.1.88的用户lzpddd分配可对所有数据库的所有表进行所有操作的权限限,并设定口令为'mypassword';
mysql>grant all privileges on *.* to lzpddd@'%' identified by 'mypassword';
给来自任何IP地址的用户lzpddd分配可对所有数据库的所有表进行所有操作的权限限,并设定口令为'mypassword';
或:
现在新版的mysql一般默认都不允许远程连接的。需要建立远程连接账号才可以。
以命令行方式使用root账号进入mysql。mysql -uroot -ppass
选择进入mysql数据库
use `mysql`;
查看所有存在的账号和地址。
SELECT `Host`,`User` FROM `user`; //有的不存在user表,我就没找到这个表,采取了第一种方式。
比如我的就是:
+-----------+------+
| Host | User |
+-----------+------+
| localhost | |
| localhost | pma |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)
也就是说,存在三个只允许本地连接的(localhost)账号,分别为 root、pma、空用户。
现在决定让root具有上面那个web服务器A的远程链接的权限,那么就这样。
UPDATE `user` SET `Host`='192.192.192.192' WHERE `User`='root' LIMIT 1;
这样192.192.192.192这台web服务器就可以远程连接到这个数据库服务器了。假如你想让任何远程机器都可以连接这个数据库,就将192.192.192.192换为%。不过不建议这样做!