MySQL错误日志(一)(忘记密码,无法启动的错误)
2018-02-02 13:44
211 查看
MySQL错误日志(修改密码,无法启动)
额外准备工作(可能对于这篇文章没有实际作用,只是为了学习linux命令):cat /etc/passwd 可以查看所有用户的列表 w #可以查看当前活跃的用户列表 cat /etc/group 查看用户组 rpm -qa|grep mysql # 查看系统是否有自带的mysql; yum remove 软件名 # 移除软件; find / -name mysql #查看是否还有残留的文件 可以查找出所有的含有mysql的路径名; netstat -tunpl #centos 查看所有运行中的服务的详细信息命令,centos 查看所有运行中的服务ip和端口信息
导致mysql出现错误的可能原因:
1.我修改过mysql的配置文件 /etc/my.cnf 在其中加入:skip-grant-tables 2.其他未知原因;
这是/etc/my.cnf的配置文件信息:
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html [mysqld] #skip-grant-tables是我为了改密码而添加的 #skip-grant-tables # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
错误发生:
#输入启动,重启命令错误出现: /etc/init.d/mysqld start service mysqld restart #停止mysql无错误信息提示 /bin/systemctl stop mysqld.service #错误内容为: Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED]
日志显示为:
# 使用 命令:cd /var/log/mysqld.log 进入查看日志; #日志内容取最后的错误信息,其他没用的省略; 2018-01-15T04:08:48.427325Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory) 2018-01-15T04:08:48.427392Z 0 [ERROR] Can't start server: can't create PID file: No such file or directory
错误分析(摘自csdn博主笔记):
鉴于很多童鞋反应,mysql5.7安装后出现无法启动,建立/var/run/mysqld 并赋权mysql用户解决了启动的问题,但是重启系统后又出现无法启动的问题,导致/var/run/mysqld 目录每次重启后都需要手动去创建并赋权mysql用户才能起到mysql,可以说,这是mysql5.7的一个小BUG,经过探索实践,现给出终极解决方案: 首先申明,修改my.cnf没有用。 之所以/var/run/mysqld 目录每次重启后都需要手动去创建,是因为/var/run/目录下建立文件夹是在内存中,故每次重启后内存被清空导致/var/run/mysqld 也被清除,从而导致无法启动mysql。 vim /etc/init.d/mysqld
解决方法之一(没有试过):
首先申明,修改my.cnf没有用。 之所以/var/run/mysqld 目录每次重启后都需要手动去创建,是因为/var/run/目录下建立文件夹是在内存中,故每次重启后内存被清空导致/var/run/mysqld 也被清除,从而导致无法启动mysql。 vim /etc/init.d/mysqld 找到下面字段 get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" get_mysql_option mysqld socket "$datadir/mysql.sock" socketfile="$result" get_mysql_option mysqld_safe log-error "/var/log/mysqld.log" errlogfile="$result" get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid" mypidfile="$result" 修改为 get_mysql_option mysqld datadir "/var/lib/mysql" datadir="$result" get_mysql_option mysqld socket "$datadir/mysql.sock" socketfile="$result" get_mysql_option mysqld_safe log-error "/var/log/mysqld.log" errlogfile="$result" get_mysql_option mysqld_safe pid-file "/var/lib/mysql/mysqld.pid" mypidfile="$result" 保存后退出,执行下面命令: systemctl daemon-reload #重构进程 service mysqld start #启动mysql chkconfig mysqld on #加入随系统启动启动
解决方法之二(此方法通过实际运用):
#建立/var/run/mysqld 并赋权mysql用户解决了启动的问题 mkdir -p /var/run/mysqld/
# 创建了/var/run/mysqld/目录,重启MySQL服务 /etc/init.d/mysqld start 还是报错: Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED]
#依旧报错,重新查看告警日志,有以下输出 2018-01-15T04:22:25.845831Z 0 [ERROR] Can't start server: can't create PID file: Permission denied #原来,/var/run/mysqld/的属主和属组还是root,mysql并不能在其中创建文件,后修改该目录的属主和属组,启动OK。 chown mysql.mysql /var/run/mysqld/ /etc/init.d/mysqld start #Starting mysqld (via systemctl): [ OK ]
修改密码
vi /etc/my.cnf #在[mysqld]中添加 skip-grant-tables #重启mysql service mysql restart #用户无密码登录 mysql -uroot -p (直接点击回车,密码为空) #选择数据库 use mysql; #修改root密码 update user set authentication_string=password('123456') where user='root'; 执行 flush privileges; #退出 exit; #删除 skip-grant-tables #重启mysql service mysqld restart
相关文章推荐
- Mysql 服务无法启动 服务没有报告任何错误(mysql5.7安装及修改密码,修改远程连接数据库)
- sql server2005,无法登陆,忘记sa密码,15405错误!
- Unable to start debugging on the web server. Logon failure: unknown user name or bad password(web服务器无法启动调试:未知用户名或密码错误)
- weblogic9.2忘记管理密码,无法启动服务,重置密码
- weblogic忘记管理密码,无法启动服务,重置密码
- linux忘记密码或错误修改/etc/inittab导致无法登录后解决方法
- centos6.x中fstab配置文件出错导致无法启动及忘记root密码解决方法
- 图形版wordpress安装 错误:user的密码不正确。忘记密码了?---phpmyadmin-#1045 无法登录 MySQL 服务器
- MySQL密码错误,忘记密码无法进入服务,修改密码
- mysql 因忘记密码无法登陆的办法 1045错误
- Zend Server CE忘记密码无法启动,如何重置
- 碰到MySQL无法启动1067错误问题
- 安装完Portal Server后,启动Server出现如下错误信息! 无法解决!
- 新安装mysql无法登录问题解决,忘记密码同解
- Docker daemon 无法启动: does not match with stored UUID错误解决办法
- MySQL Server 无法启动错误诊断一则
- 本地计算机无法启动 windows time 服务 错误1058
- windows无法启动MySQL服务 错误1067
- Dreamweaver CS4无法启动:xml parsing fatal error..Designer.xml错误解决方法
- [SQL 2000]发生错误1069:由于登录失败而无法启动服务