http://blog.sina.com.cn/s/blog_5395a50f0101nz97.html
启动mysql5.6时报错:
[root@test2 dbdata]# ./mysql56_keepalived_start.sh
[root@test2 dbdata]# 180824 07:32:28 mysqld_safe Logging to '/var/run/mysqld/my56_3306.log'.
touch: cannot touch ‘/var/run/mysqld/my56_3306.log’: No such file or directory
chmod: cannot access ‘/var/run/mysqld/my56_3306.log’: No such file or directory
touch: cannot touch ‘/var/run/mysqld/my56_3306.log’: No such file or directory
chown: cannot access ‘/var/run/mysqld/my56_3306.log’: No such file or directory
180824 07:32:28 mysqld_safe Starting mysqld daemon with databases from /dbdata/mysql/my56_3306/data
由此引出/var/run的一些知识.直接转载了:
/var/run是干什么用的
根据linux的文件系统分层结构标准(FHS)中的定义:
/var/run 目录中存放的是自系统启动以来描述系统信息的文件。 比较常见的用途是daemon进程将自己的pid保存到这个目录。 标准要求这个文件夹中的文件必须是在系统启动的时候清空,以便建立新的文件。
为了达到这个要求,linux中/var/run使用的是tmpfs文件系统,这是一种存储在内存中的临时文件系统,当机器关闭的时候,文件系统自然就被清空了。使用df -Th命令能看到类似的输出结果:
[root@test2 dbdata]# df -Th /var/run
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 2.0G 9.0M 2.0G 1% /run
当然/var/run除了保存进程的pid之外也有其他的作用,比如utmp文件,就是用来记录机器的启动时间以及当前登陆用户的。
为什么要使用/run代替
这是因为/var/run文件系统并不是在系统一启动就是就绪的,而在此之前已经启动的进程就先将自己的运行信息存放在/dev中,/dev同样是一种tmpfs,而且是在系统一启动就可用的。但是/dev设计的本意是为了存放设备文件的,而不是为了保存进程运行时信息的,所以为了不引起混淆,/dev中存放进程信息的文件都以”.”开始命名,也就是都是隐藏文件夹。但是即便是这样,随着文件夹的数量越来越多,/dev里面也就越来越混乱,终于有人坐不住了,所以引入了替代方案,也就是 /var/run。
使用/var/run有什么好处
主要就是解决了上边说的管理不一致,最终使各个发行版统一管理。最终将/var/run和/var/lock都归并到/run中。而且在也不用使用隐藏文件夹这种伎俩了,对管理员来说轻松了不少。同样/dev中也不会有不相关的内容了。
所以,启动mysql报错的解决:
log-error=/var/log/mysqld/my56_3306.log