我在一台Linux下用Make和Make Install安装了Mysql,开始用configure指定了安装目录:/home/mysql。
现在将这个Mysql放到了另一台Linux下,目录为/home/test/mysql,之后执行./mysql_install_db --datadir=../var/
然后得到错误:
FATAL ERROR: Could not find /home/mysql/bin/my_print_defaultsIf you are using a binary release, you must run this script from
within the directory the archive extracted into.  If you compiled
MySQL yourself you must run 'make install' first or use
use --source-install --install-dir=xxx from the top source directory后来我用
./mysql_install_db --datadir=../var/ --basedir=./
./mysql_install_db --datadir=../var/ --source-install=./
./mysql_install_db --datadir=../var/ --install-dir=./
都不行。那么我想问,把Mysql放到生成时configure指定目录之外的目录,通过什么可以安装mysql的系统表var。请指教。最好别说把Var拷贝过来。

解决方案 »

  1.   

    If   you   compiled
    MySQL   yourself   you   must   run   'make   install'   first   or   use
    use   --source-install   --install-dir=xxx   from   the   top   source   directory 这样做了吗?
      

  2.   

    做了,就是我在一台Linux上生成了MySQL(在这台机器上./mysql_install_db,./mysqld可以执行启动),然后把它放到另外一台Linux下运行,当然,在这台机器上执行./mysql_install_db,然后出现这个错误了。就是想怎么解决,让执行./mysql_install_db的时候,能够找到位于./目录下的my_print_defaults文件。当前./目录就是mysql的bin目录,这个文件及其它诸如mysqld,mysql,mysqladmin等等的都有,是完整的Mysql。
      

  3.   

    现在的MYSQL 都是二进制包。不需要安装的。你直接初始化数据库就可以用了。
    比如你要安装到/usr/local/mysql直接这样安装
    /usr/local/mysql/scripts/mysql_install_db --user=mysql
    chown -R mysql:mysql /usr/local/mysql
      

  4.   

    我不是下载的二进制包,我是用MySQL的源代码生成的,因为我要添加一些新的操作
      

  5.   

    FATAL   ERROR:   Could   not   find   /home/mysql/bin/my_print_defaults出现这个错误是你没有把这个路径添加到PATH 中去。