繁体   English   中英

适用于Linux的MySQL Red Hat 5.4-以非root身份在本地构建/安装-无法开始使用它

[英]MySQL for Linux Red Hat 5.4 - Build / Install locally as non-root - cannot start using it

我从http://downloads.mysql.com/archives/mysql-5.0/mysql-5.0.91.tar.gz下载并安装了My SQL。 构建成功,我安装到本地非根目录中。

但是,当尝试从命令行调用mysql时,出现以下错误-

Linux:>prakash_prasad/bin/mysql-5.0.91/bin 1021> ./mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Linux:>prakash_prasad/bin/mysql-5.0.91/bin 1022>

围绕它进行状态搜索修改/创建-/etc/my.cnf-但我没有权限在/ etc中创建文件。 对于上述问题,还必须进行其他修复。 我对安装目录中的哪个MySql文件具有config /tmp/mysql.sock表示满意:

Linux:>prakash_prasad/bin/mysql-5.0.91 1018> grep -ir tmp . | grep sock
./include/mysql/mysql_version.h:#define MYSQL_UNIX_ADDR                 "/tmp/mysql.sock"
./bin/mysqld_safe:safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-/tmp/mysql.sock}}
./bin/mysql_config:socket='/tmp/mysql.sock'
./bin/mysqld_multi:socket     = /tmp/mysql.sock2
./bin/mysqld_multi:socket     = /tmp/mysql.sock3
./bin/mysqld_multi:socket     = /tmp/mysql.sock4
./bin/mysqld_multi:socket     = /tmp/mysql.sock6
./share/mysql/my-small.cnf:socket               = /tmp/mysql.sock
./share/mysql/my-small.cnf:socket               = /tmp/mysql.sock
./share/mysql/my-medium.cnf:socket              = /tmp/mysql.sock
./share/mysql/my-medium.cnf:socket              = /tmp/mysql.sock
./share/mysql/my-large.cnf:socket               = /tmp/mysql.sock
./share/mysql/my-large.cnf:socket               = /tmp/mysql.sock
./share/mysql/my-huge.cnf:socket                = /tmp/mysql.sock
./share/mysql/my-huge.cnf:socket                = /tmp/mysql.sock
./share/mysql/my-innodb-heavy-4G.cnf:socket             = /tmp/mysql.sock
./share/mysql/my-innodb-heavy-4G.cnf:socket             = /tmp/mysql.sock
./share/man/man1/mysql-stress-test.pl.1:/tmp/mysql\&.sock\&.
./share/man/man1/mysql-test-run.pl.1:shell> \fB\&.\&./mysql \-S \&./var/tmp/master\&.sock \-h localhost \-u root\fR
./share/man/man1/mysql_config.1:  \-\-socket         [/tmp/mysql\&.sock]
./share/man/man1/mysqld_multi.1:shell> \fBmysql \-u root \-S /tmp/mysql\&.sock \-p\fR
./share/man/man1/mysqld_multi.1:socket     = /tmp/mysql\&.sock2
./share/man/man1/mysqld_multi.1:socket     = /tmp/mysql\&.sock3
./share/man/man1/mysqld_multi.1:socket     = /tmp/mysql\&.sock4
./share/man/man1/mysqld_multi.1:socket     = /tmp/mysql\&.sock6
./share/man/man8/mysqlmanager.8:/tmp/mysqlmanager\&.sock\&. This option has no meaning on Windows\&.
./share/man/man8/mysqlmanager.8:socket=/tmp/manager\&.sock
./share/man/man8/mysqlmanager.8:socket=/tmp/mysql\&.sock
./share/man/man8/mysqlmanager.8:socket     = /tmp/mysql\&.sock5
./share/man/man8/mysqlmanager.8:| socket        | /tmp/mysql\&.sock3                                  |
./mysql-test/suite/funcs_1/views/func_view.inc:#            ./mysql-test-run.pl   --socket=var/tmp/master.sock --start-dirty
./mysql-test/mysql-test-run-shell:LOCAL_SOCKET=/tmp/mysql.sock
./mysql-test/mysql-test-run-shell:MASTER_MYSOCK="$MYSQL_TMP_DIR/master.sock"
./mysql-test/mysql-test-run-shell:SLAVE_MYSOCK="$MYSQL_TMP_DIR/slave.sock"
./mysql-test/mysql-test-run-shell:    $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=5 --shutdown_timeout=70 shutdown >> $MYSQL_MANAGER_LOG 2>&1
./mysql-test/mysql-test-run-shell:    $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=1 ping >> $MYSQL_MANAGER_LOG 2>&1
./mysql-test/mysql-test-run-shell:    $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$slave_ident.sock stop-slave > /dev/null 2>&1
./mysql-test/mysql-test-run:  # On QNX, /tmp/dir/master.sock and /tmp/dir//master.sock seem to be
./mysql-test/mysql-test-run:  my $sockdir = $opt_tmpdir;
./mysql-test/mysql-test-run:    $master->[0]->{'path_sock'}=  $opt_socket ? $opt_socket : "/tmp/mysql.sock";
./mysql-test/mtr:  # On QNX, /tmp/dir/master.sock and /tmp/dir//master.sock seem to be
./mysql-test/mtr:  my $sockdir = $opt_tmpdir;
./mysql-test/mtr:    $master->[0]->{'path_sock'}=  $opt_socket ? $opt_socket : "/tmp/mysql.sock";
./mysql-test/mysql-test-run.pl:  # On QNX, /tmp/dir/master.sock and /tmp/dir//master.sock seem to be
./mysql-test/mysql-test-run.pl:  my $sockdir = $opt_tmpdir;
./mysql-test/mysql-test-run.pl:    $master->[0]->{'path_sock'}=  $opt_socket ? $opt_socket : "/tmp/mysql.sock";
./mysql-test/mysql-stress-test.pl:$opt_server_socket= $opt_server_socket ? $opt_server_socket : "/tmp/mysql.sock";
Linux:>prakash_prasad/bin/mysql-5.0.91 1019>

现在,我不确定必须进行哪些更改才能使用它。

提前致谢

随时随地创建my.cnf并使用启动服务器

/path/to/mysqld --defaults-file=/path/to/my.cnf

如果无法更改/etc/my.cnf文件,请尝试--defaults-extra-file=path选项。

或者,如果只想更改套接字,请使用:--socket --socket=/tmp/mysql.sock

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM