FATAL ERROR: Could not find ./bin/my_print_defaults的解决办法

对mysql数据库初始化过程当中,会有以下报错信息:
mysql


1
2
3
4
5
6
7
[root@localhost scripts] # ./mysql_install_db --user=mysql
FATAL ERROR: Could not  find  . /bin/my_print_defaults
If you compiled from  source , you need to run  'make install'  to
copy the software into the correct location ready  for  operation.
If you are using a binary release, you must either be at the  top
level of the extracted archive, or pass the --basedir option
pointing to that location.


按照报错信息,去mysql安装目录的bin目下查找是否有_print_defaults,在第一列的第七行有发现这个文件sql


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost bin] # ls
innochecksum       mysql_client_test           mysql_setpermission
msql2mysql         mysql_client_test_embedded  mysqlshow
myisamchk          mysql_config                mysqlslap
myisam_ftdump      mysql_convert_table_format  mysqltest
myisamlog          mysqld                      mysqltest_embedded
myisampack         mysqld_multi                mysql_tzinfo_to_sql
my_print_defaults  mysqld_safe                 mysql_upgrade
mysql              mysqldump                   mysql_waitpid
mysqlaccess        mysqldumpslow               mysql_zap
mysqlaccess.conf   mysql_find_rows             perror
mysqladmin         mysql_fix_extensions        replace
mysqlbinlog        mysqlhotcopy                resolveip
mysqlbug           mysqlimport                 resolve_stack_dump
mysqlcheck         mysql_secure_installation



看来其实不是没有这个文件,不是这个问题。数据库

认真查看报错信息,可注意到那个路径是相对路径,是以mysql的安装目录为起始。bash

而初始化则是进去初始化脚本目录里运行脚本,而在这个目录下不会有./bin/my_print_defaults的。dom

因此回到安装目录以相对路径去执行初始化脚本。spa


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost mysql] # ./scripts/mysql_install_db --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot  time  you have to copy
support-files /mysql .server to the right place  for  your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To  do  so, start the server,  then  issue the following commands:
. /bin/mysqladmin  -u root password  'new-password'
. /bin/mysqladmin  -u root -h localhost.localdomain password  'new-password'
Alternatively you can run:
. /bin/mysql_secure_installation
which  will also give you the option of removing the  test
databases and anonymous user created by default.  This is
strongly recommended  for  production servers.
See the manual  for  more  instructions.
You can start the MySQL daemon with:
cd  . ; . /bin/mysqld_safe  &
You can  test  the MySQL daemon with mysql- test -run.pl
cd  . /mysql-test  ; perl mysql- test -run.pl
Please report any problems with the . /bin/mysqlbug  script!
[root@localhost mysql] #


OK!初始化成功!code

但愿能对你们有帮助
orm