MySQL 无法在 Linux 上启动

MySQL 无法在 Linux 上启动

可能重复:
新安装 mysql 后,所有目录中都缺少 my.cnf

我需要使用 SUSE 版本 11 发行版为我的 Linux 2.16 版本运行 MySQL 服务。下载以下文件并安装所有 rpm,如下所示:

MySQL-server-5.5.27-1.sles11.i586
MySQL-client-5.5.27-1.sles11.i586
MySQL-devel-5.5.27-1.sles11.i586
MySQL-shared-5.5.27-1.sles11.i586
MySQL-shared-compat-5.5.27-1.sles11.i586

安装期间没有错误,并且我已经通过以下方式确认了已安装的软件包:

rpm -qa|grep -i sql

但是尝试执行以下指令时服务器没有启动:

$> mysql

M 收到以下错误消息:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

我已经检查过了/etc/init.d位置,仅限mysql条目在那里,而不是mysqld,这是服务器启动错误的原因吗?

在谷歌搜索了几个小时后,我也尝试从同一位置启动 ./mysql,但得到以下输出:

Starting MySQL..The server quit without updating PID file (/var/lib/mysql/ABC2-rahul.pid).

我是 mysql 新手,如能得到任何帮助我将不胜感激。提前致谢。


我检查后发现一些配置文件在 /usr/share/mysql 位置,并且我已将 my-huge.cnf 文件复制到 /etc 位置,有什么意见吗?

以下是同一个 my.cnf 文件的内容:

[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M

thread_concurrency = 8

log-bin=mysql-bin

server-id       = 1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

答案1

看起来很像权限问题,检查 /var/lib/mysql 是否与运行 mysql 守护程序的用户属于同一用户。

答案2

您的包裹似乎格式不正确或者不完整。

为了解决这个问题,请创建您自己的 my.cnf 文件。

确认已创建“mysql”用户。如果没有,请创建用户 mysql 和组 mysql。

在 /etc 中创建 my.cnf,使用最少的设置:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
port=3306

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
user=root
port=3306
socket=/var/lib/mysql/mysql.sock

这应该足以让 mysqld 保持正常运行。当然,您必须添加您的设置。使用 /etc/init.d/mysql start(或您的发行版用于启动服务的命令)启动服务器。

如果服务器启动,您必须创建 root 用户(通常使用“mysqladmin -u root -p password”和“mysqladmin -h hostname -u root -p password”)

相关内容