无法启动 mysql:
130408 11:31:22 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/libexec/mysqld: Table 'plugin' is read only
130408 11:31:22 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
130408 11:31:22 InnoDB: Initializing buffer pool, size = 8.0M
130408 11:31:22 InnoDB: Completed initialization of buffer pool
130408 11:31:23 InnoDB: Started; log sequence number 0 19514977
130408 11:31:23 [ERROR] Can't start server : Bind on unix socket: Permission denied
130408 11:31:23 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
130408 11:31:23 [ERROR] Aborting
130408 11:31:23 InnoDB: Starting shutdown...
130408 11:31:28 InnoDB: Shutdown completed; log sequence number 0 19514977
130408 11:31:28 [Note] /usr/libexec/mysqld: Shutdown complete
130408 11:31:28 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Run Code Online (Sandbox Code Playgroud)
另一个 mysql 没有运行:
[root@triton667 etc]# ps ax | grep mysql
9195 pts/1 S+ 0:00 grep mysql
Run Code Online (Sandbox Code Playgroud)
我的.cnf:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
tmpdir=/tmp
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_allowed_packet=256M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Run Code Online (Sandbox Code Playgroud)
“/tmp”和“/var/lib/mysql”的权限为 777/
有什么建议?
UPD1:
[root@triton667 etc]# mysql_upgrade
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) trying to connect
FATAL ERROR: Upgrade failed
Run Code Online (Sandbox Code Playgroud)
UPD2 : plugin.MYD、plugin.MYI 和 plugin.frm 存在于 /var/lib/mysql/mysql/ 中。
端口 3306 上没有任何运行。
mysql.sock 不存在。我试图自己创建它,但在重新启动后它被删除了。
安装(所有 rw):
[root@triton667 mysql]# mount
/dev/md1 on / type ext4 (rw,noatime,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/md0 on /boot type ext2 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
Run Code Online (Sandbox Code Playgroud)
今天当我尝试在子域上克隆我的网站时出现了这个问题。
小智 17
1) 首先确保使用 rm 命令删除现有的套接字文件。
rm /var/lib/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
2) 通过以下命令杀死所有现有的 MySQL 进程。
service mysql stop
Run Code Online (Sandbox Code Playgroud)
3)非常重要:确保/var/lib/文件夹下MySQL数据库目录的权限应该是mysql:root
chown -R mysql:root /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
4) 有了以上信息,你应该可以成功启动MySQL,并且在数据库目录下成功创建了socket文件。
service mysql start
Run Code Online (Sandbox Code Playgroud)
小智 7
感谢@Abhishek 的回答结合 mysqld 输出(不能使用 /var/run/mysqld/mysqld.sock)我设法用一个命令解决了这个问题:
chown -R mysql:root /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)
然后它正常启动:
root@***:~# service mysql start
df: Warning: cannot read table of mounted file systems: No such file or directory
[ ok ] Starting MySQL database server: mysqld ..
[info] Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49748 次 |
| 最近记录: |