有两台服务器,都安装了mysql5,也都安装了navicat 8 for mysql,因为刚接触MYSQL,所以不知道怎么操作,稳妥起见,把其中一台的D:\MySQL\MySQL Server 5.0\data下的文件拷到另个服务器D:\MySQL\MySQL Server 5.0\data下了,以为这样就算是把数据库文件完整的转移到新服务器了,但是运行PHP的时候总是提示出错,猜测要么是数据库没有正常操作,要么是数据库用户名和密码不对,我安装MYSQL的时候设置了root对应的密码也是root的,但没有针对单个数据库设置用户,所以我想问两个问题:
一、我把其中一台的D:\MySQL\MySQL Server 5.0\data下的文件拷到另个服务器D:\MySQL\MySQL Server 5.0\data下这个操作对不对,如果要让原来的多个MYSQL数据库文件在新服务器上正常运行,该怎么办?原来的服务器已经格式化了。
二、如何在navicat中对单个数据库设置用户名和密码?
我估计只要把这两个问题解决了,PHP站点就能正常了。

解决方案 »

  1.   

    先不用工具,直接使用MYSQL命令行工具看一下。理论你的操作应该没有问题。
      

  2.   

    一、我把其中一台的D:\MySQL\MySQL Server 5.0\data下的文件拷到另个服务器D:\MySQL\MySQL Server 5.0\data下这个操作对不对,如果要让原来的多个MYSQL数据库文件在新服务器上正常运行,该怎么办?原来的服务器已经格式化了。如果表引擎是INNODB,用MYSQLDUMP备份,再导入 二、如何在navicat中对单个数据库设置用户名和密码?
    我估计只要把这两个问题解决了,PHP站点就能正常了。只要能连接MYSQL就可以做到
      

  3.   

    老大,我昨天刚接触PHP和MYSQL,你说的命令行工具我可是一窍不通啊,怎么看?我怎么能单独设置某个数据库的用户和密码啊
      

  4.   

    WWWWA你好,我不知道表引擎是不是INNODB,安装的时候都是默认的,用navicat连接上以后那些库文件名都是会的,点击开以后变绿了,能打开表什么的,是不是说明这些库正常能用了?
     
      

  5.   

    1:确保每个服务器上安装的MYSQL版本都是一样的,不同版本之间的文件移植会出现莫名其妙的问题
    2:确保每个服务器上的数据库引擎选择都是一样的,字符集选择都是一样的。
    3:A是标准数据库,B,C是需要复制过去的数据库。你把A,B,C的MYSQL服务都停止,在开始-运行-CMD-输入net stop mysql,然后把A的DATA文件夹拷贝到B,C,覆盖B,C的DATA文件夹,然后重新启动A,B,C的MYSQL服务开始-运行-CMD-输入net start mysql
      

  6.   

    在navicat能否运行SELECT * FROM 表名,再看看SP、UDF、VIEW是否可以正常运行,
    如都可以正常运行,则库能正常使用了
      

  7.   

    我在百度贴吧上看到这样的说明2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
    这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;我是不是这样操作就可以添加一个用户给一个库,然后PHP站点就能正常了?我的意思是有个类似于MSSQL的数据库的用户,然后在连接数据库的语句中写上这个用户,还有密码,PHP就能与数据库正常连接,可以正常使用,PHP站点就一切正常了?
      

  8.   

    zuoxingyu,你好,
    1:确保每个服务器上安装的MYSQL版本都是一样的,不同版本之间的文件移植会出现莫名其妙的问题
    这个不太确定是不是一样,因为老的服务器已经格式化了,看不到相关信息,好像都是mysql5,但不确定是不是版本完全一样;
    2:确保每个服务器上的数据库引擎选择都是一样的,字符集选择都是一样的。
    这个更不确定了,因为不懂,安装都是默认安装的;
    3:A是标准数据库,B,C是需要复制过去的数据库。你把A,B,C的MYSQL服务都停止,在开始-运行-CMD-输入net stop mysql,然后把A的DATA文件夹拷贝到B,C,覆盖B,C的DATA文件夹,然后重新启动A,B,C的MYSQL服务开始-运行-CMD-输入net start mysql
    复制的时候根本没有停止mysql服务,我还纳闷怎么和MSSQL不一样,随便复制就OK了。
      

  9.   

    WWWWA你好
    我在NAVICAT中找了一个库,然后运行查询select * from 表,能出来结果,至于SP、UDF、VIEW是否可以正常运行,这个不知道咋搞。
      

  10.   

    SP:call sp()
    、UDF
    VIEW:select * from viewor直接在NAVICAT修改、运行,看看代码、结果是否有问题,没有就正常了
      

  11.   

    随便找了个表来修改记录,没有问题,看来数据库是正常的,就是一个添加用户的问题了。
    2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
    这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;我是不是这样操作就可以添加一个用户给一个库,然后PHP站点就能正常了?我的意思是有个类似于MSSQL的数据库的用户,然后在连接数据库的语句中写上这个用户,还有密码,PHP就能与数据库正常连接,可以正常使用,PHP站点就一切正常了?
      

  12.   

    你测试一下,你是要在本机使用PHP站点?
      

  13.   

    不,我要在机房,有固定IP,但是这个2003服务器上有多个站点,有ASP的2个站,PHP的4-5个站,共用一个IP的,ASP的我知道只要主机头不一样就可以了,PHP的是不是也是这样,可以绑定同一IP,但主机头不一样(其实就是那个域名),我看老服务器上配置的PHP站点有些没有绑定IP也能用域名访问,用的好像是什么默认值。
      

  14.   

    我看某个PHP站上的链接语句中还在用ROOT这个账号,是不是不太安全啊,有必要给重新添加一个账号,让它只对这个库有权限,相当于mssql中的db-owner,这样是不是比较好?刚才说的增加一个用户test2密码为abc,让他只可以在localhost上登录这个的权限是不是就是相当于db-owner?
      

  15.   

    我看某个PHP站上的链接语句中还在用ROOT这个账号,是不是不太安全啊,有必要给重新添加一个账号,让它只对这个库有权限,相当于mssql中的db-owner,这样是不是比较好?
    是直接用navicat授权就行了刚才说的增加一个用户test2密码为abc,让他只可以在localhost上登录这个的权限是不是就是相当于db-owner?
    不是,只是授权
    select,insert,update,delete 
      

  16.   

    刚才又问了一个人,说在navicat上可以直接添加用户,然后设置该用户针对某个库有权限就可以了,我就这样操作了下,添加上用户了。不知道为什么还是有这样的提示
    Warning: require_once(global.php) [function.require-once]: failed to open stream: No such file or directory in E:\Website\bbs\index.php on line 3Fatal error: require_once() [function.require]: Failed opening required 'global.php' (include_path='.;C:\php5\pear') in E:\Website\bbs\index.php on line 3在这个站点下怎么也没有找到global.php,在服务器上搜索也没有这个文件,在c:\windows\php.ini中查找也没有查到,是缺少了这个文件还是怎么回事?
    C:\php5\pear这个肯定是不对的,因为应该是C:\php\pear,但是就不知道该从什么寻找来修改。
      

  17.   

    我重新用原始压缩文件解压后覆盖了网站文件,发现有global.php文件了,但是现在是这样的提示了Cannot use databaseThe URL Is:
    http://122.70.146.151/index.php?MySQL Server Error:
    Access denied for user 'bbs'@'dbhost' to database 'bbs' ( 1044 ) 我已经在navicat中给数据库bbs增加了一个账号bbs,设置了密码了的,怎么还会有这个提示
      

  18.   

    我已经在navicat中给数据库bbs增加了一个账号bbs,设置了密码了的,怎么还会有这个提示
    怎样增加的,代码
      

  19.   

    l加一个  'bbs'@'%'  的账号试试。
      

  20.   

    我在navicat中增加的,后来发现太乱了,于是重新进行mysql的配置,把root重新设置了密码,再次登录navicat,一切正常了,现在PHP站点也能正常访问了。问个问题,我看到老服务器上有个服务扩展rewrite,这个是干嘛用的,我到哪里可以下载?我怕遗漏了这个,站点会出问题,好像老服务器的D盘上有个文件夹叫rewrite什么的,里面有一个文件。