mysql初始化错误【一】
MySQL 初始化DATA报错
[ERROR] InnoDB: io_setup() failed with EAGAIN after 5 attempts.
[ERROR] InnoDB: Cannot initialize AIO sub-system
[ERROR] InnoDB: Plugin initialization aborted with error Generic error
[ERROR] Plugin ‘InnoDB’ init function returned error.
[ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
[ERROR] Failed to initialize plugins.
解决方法:
$ cat /proc/sys/fs/aio-max-nr
65536 #64k个
$ vi /etc/sysctl.conf
fs.aio-max-nr=262144 #调整为256k个
$ sysctl -p
mysql初始化错误【二】
Can’t find error-message file ‘/usr/local/mysql/errmsg.sys’
原因:一般是初始化的basedir 的路径指定错误了,basedir 一般指定数据库的bin,lib之类的文件
解决方法:初始化的去掉basedir
mysqld --initialize --user=mysql --datadir=/data
查看PID和端口的命令。
1.由端口号查询PID号
有时候会提示:“XXX端口被占用”,那么你不得不依据此端口去查看该端口下运行的哪些进程
使用命令来查看当前系统下所运行的所有端口情况:sudo netstat -antup
注意:请在sudo的权限下查看,不然有部分的pid是查看不到的。
2.用PID查询端口号
若你在知道进程PID的情况下,如何查看该PID的进程情况呢?
使用命令:sudo netstat -antup|grep PID号 来查询该目标端口的开放情况!当然前提是你要知道该PID的号码:
下图是使用PID为1024来查看端口的情况,我们可以看到该端口是处于LISTEN监听的状态,且端口为80.
3.用进程名查询PID号
有时候一些常用的进程我们都很熟悉,那么此时我们就可以用ps命令来查询目标的PID号了:
使用命令:sudo ps -ef|grep 进程名 来查看该进程的PID是很方便的。可是前提是你要知道该进程的名,比如若是一些系统后台进程则不能查看到。
下图则是使用该命令来查看:mysql数据库的PID为2807,同时它已经告诉我们了端口号为:3306了。
查看被占用端口
1、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000
# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 4814/rpcbind tcp 0 0 0.0.0.0:5908 0.0.0.0:* LISTEN 25492/qemu-kvm tcp 0 0 0.0.0.0:6996 0.0.0.0:* LISTEN 22065/lwfs tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 38296/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5278/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5013/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 5962/master tcp 0 0 0.0.0.0:8666 0.0.0.0:* LISTEN 44868/lwfs tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 22065/lwfs
可以看到8000端口已经被轻量级文件系统转发服务lwfs占用
2、netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000
# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 4814/rpcbind tcp 0 0 0.0.0.0:5908 0.0.0.0:* LISTEN 25492/qemu-kvm tcp 0 0 0.0.0.0:6996 0.0.0.0:* LISTEN 22065/lwfs tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 38296/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5278/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5013/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 5962/master tcp 0 0 0.0.0.0:8666 0.0.0.0:* LISTEN 44868/lwfs tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 22065/lwfs
# netstat -tunlp | grep 8000 tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 22065/lwfs
说明一下几个参数的含义:
-t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建立相关链接的程序名