如何解决centos mysql自动启动下启动MySQL失败的问题

Centos下忘记mysql的root密码的解决方法总结-linux-操作系统-壹聚教程网Centos下忘记mysql的root密码的解决方法总结
文章以centos为实例来给各位同学介绍在Centos下忘记mysql的root密码的一些解决方法,文章主要是讲到了--skip-grant-tables这一句,然后对表进行相关操作了,希望此文章对各位同学有所帮助。
一:(停掉正在运行的mysql)
[root@NetDakVPS ~]# service mysqld stop
二:使用 &--skip-grant-tables&参数重新启动mysql
[root@NetDakVPS ~]# mysqld_safe --skip-grant-tables &
Starting mysqld daemon with databases from /var/lib/mysql
三:用root帐号登录mysql
[root@NetDakVPS ~]# mysql -u root
Welcome to the MySQL monitor. C or g.
Your MySQL connection id is 1
Server version: 5.0.77 Source distributionType '' or 'h' for help. Type 'c' to clear the buffer.
四:改变用户
mysql& use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
五:修改密码,记得密码要用pass()函数进行加密
mysql& update user set password=password('netdak') where user='root';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0
六:刷新权限表
Query OK, 0 rows affected (0.00 sec)
七:退出mysql
mysql& quit
八:对mysql进行重启
[root@NetDakVPS ~]# se
STOPPING server from pid file /var/run/mysqld/mysqld.pid
:44:03 mysqld endedStopping MySQL: [ OK ]
Starting MySQL: [ OK ]
[1]+ Done mysqld_safe --skip-grant-tables
九:用更改过的密码重新登录即可。
[root@NetDakVPS ~]# mysql -u root -p
Enter password: netdak
Welcome to the MySQL monitor. C or g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distributionType '' or 'h' for help. Type 'c' to clear the buffer.mysql& quit
附其它方法
1. KILL掉系统里的MySQL进程;
killall -TERM mysqld
2. 用以下命令启动MySQL,以不检查权限的方式启动;
safe_mysqld --skip-grant-tables &
3. 然后用空密码方式使用root用户登录 MySQL;
mysql -u root
4. 修改root用户的密码;
mysql& update mysql.user set password=PASSWORD('新密码') where User='root';
mysql& quit
重新启动MySQL,就可以使用新密码登录了。
上一页: &&&&&下一页:相关内容19369人阅读
疑难问题(1)
数据库(9)
1. /f的默认配置
配置文件的内容如下:
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
to using old password format for compatibility with mysql 3.x
(those using the mysqlclient10 compatibility package).
old_passwords=1
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
由于项目需要需要修改datadir的值,如下
datadir=/usr/local/project/etc/data
在CentOS中启动MySQL:
[wzhwho@local~]#service
mysqld start
Starting mysqld daemon& [FAILED]
2. 先看错误日志
采用rpm安装的MySQL日志文件的默认路径是/var/log/mysqld.log
mysqld started
InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /usr/local/project/etc/data/ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
mysqld ended
从日志可以知道,mysql的数据文件目录没有权限,所以我需要按照/var/lib/mysql目录的权限给/usr/local/project/etc/data目录设置权限和属主。
[wzhwho@local~]#ll
drwxr-x-r-x 1 &&&&& &mysql& &&&&&& mysql
[wzhwho@local~]#ll
[wzhwho@local~]chown -R mysql:mysql /usr/local/project/etc/data
[wzhwho@local~]chmod -R 755 /usr/local/project/etc/data
[wzhwho@local~]#ll
&/usr/local/project/etc
drwxr-x-r-x 1 &&&&& &mysql& &&&&&& mysql
接着我又启动了MySQL,但是还是失败,日志信息还是一样。
3. 修改配置文件/etc/selinux/config
最后,我在外国友人的邮件来往中查到这样的回复:
If you are using SE linux, set it to
permissive mode by editing /etc/selinux/config
and changing
SELINUX=enforcing
to SELINUX=permissive
This solved all of my problems with the
"Operating system error number 13 in a file operation" error
所以,最后确定为selinux的问题,输入命令ls -Z,你会发现在文件或文件夹上面打的标签。如果一个文件是在selinux打开的时候创建的,那么即使你关闭selinux,它的权限控制还是会起作用的。可以通过chcon来改变权限。
4. MySQL成功启动
[wzhwho@local~]#service
mysqld start
Starting mysqld daemon& [OK]
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:350613次
积分:5507
积分:5507
排名:第3125名
原创:181篇
转载:110篇
评论:48条
(2)(1)(4)(4)(22)(1)(4)(15)(6)(36)(30)(16)(18)(3)(12)(9)(1)(2)(11)(9)(19)(5)(3)(3)(6)(17)(3)(14)(15)
() () () () ()
() () () () () ()在centos6.4上 配置好apache2 mysql5.6与php5.3的环境,然后装上了wordpress,并为其分配了专用的库和用户名/密码,wordpress配置文件也没问题
这时候访问服务器的wordpress网址,已经进入了初始注册页面,问题来了:此时查询mysql状态,已经not running了
ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists删除了锁文件,还是不能成功启动。
[root@lr ~]# /etc/init.d/mysql startStarting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/lr.pid).
总结下:1.每次reboot系统后,第一次mysql可以start2.但是在php页面的网站开始访问数据库时,数据库便突然关闭,并再也无法成功restart报错为Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/lr.pid).
3.查看了数据库log,有价值的应该就这里 13:36:27 1949 [Note] InnoDB: Initializing buffer pool, size = 5.0M 13:36:27 1949 [Note] InnoDB: Completed initialization of buffer poolInnoDB: Error: pthread_create returned 11:36:27 mysqld_safe mysqld from pid file /var/lib/mysql/lr.pid ended
4.总结2中提到的报错信息, /articles/186.html 已总结了许多可能的情形,除了第4种其他我一一试验过,均不是问题所在。第4种未尝试是因为mysql5.6通过rpm安装后发现并不是网上所述传统的路径/usr/local/mysql/data,一时没有尝试(/usr/share/mysql 与 /var/lib/mysql都找过了,还可能在哪里请各位指教)
========怀疑与vps自带旧版mysql残留互干扰的分割线==========补充我又建了个全新的主机,输入如下命令[root@desperation ~]# whereis mysqlmysql: /usr/lib64/mysql /usr/share/mysql用yum remove mysql* 发现新机器只有mysql-libs5.1
这个是出问题的用了一段时间的主机,我手动装的mysql5.6[root@LR ~]# whereis mysqlmysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz会不会是残留的旧版mysql中的配置文件等出现了冲突?===========mysql5.6内存占用怀疑的分割线===================目前来看是mysql5.6版本内存占用略大的问题,将vps的内存从512M升级到1G便不会出现这诡异情况了,以"mysql5.6+内存"为关键词搜索可以搜到一些吐槽mysql占用内存过大的帖子给了我启发,有机会会再研究下5.6的哪点改进还是哪里配置文件的改动导致此种情形。
我把安装时候的命令先放在下面,方便下有环境想尝试研究的网友们官网下载了 64位 redhatlinux6的mysql5.6包(别的情形换下地址就好)# wget &c /get/Downloads/MySQL-5.6/MySQL-5.6.14-1.el6.x86_64.rpm-bundle.tar/from/解压# tar -xf MySQL-5.6.14-1.el6.x86_64.rpm-bundle.tar移除了原有的mysql-libs5.1# Yum remove mysql-libs装依赖(这个包里能解决所有libaio兼容问题,各种适应)# rpm -ivh MySQL-shared-compat-5.6.14-1.el6.x86_64.rpm 装mysql的server client 开发包# rpm -ivh MySQL-server-5.6.14-1.el6.x86_64.rpm# rpm -ivh MySQL-client-5.6.14-1.el6.x86_64.rpm# rpm -ivh MySQL-devel-5.6.14-1.el6.x86_64.rpm===============最终结论的分割线======================结论:mysql5.6的默认参数设置问题,将mysql配置文件 我的是位于 /usr/my.conf 调整以下参数performance_schema_max_table_instances=600table_definition_cache=400table_open_cache=256这时mysql启动后内存就只占用40--60M内存了
以下是5.6默认的设置,会占用至少400M的内存,导致了我那个小小vps的莫名故障performance_schema_max_table_instances 12500table_definition_cache 1400table_open_cache 2000
以后用mysql5.6搭建小型个人网站时候一定要注意这个默认设置
问题搞定结帖子~~~~~
该问题被发起重新开启投票
投票剩余时间:
之前被关闭原因:
该问题被发起删除投票
投票剩余时间:
距离悬赏到期还有:
参与关闭投票者:
关闭原因:
该问题已经被锁定
锁定原因:()
保护原因:避免来自新用户不合宜或无意义的致谢、跟帖答案。
该问题已成功删除,仅对您可见,其他人不能够查看。
InnoDB: Error: pthread_create returned 11试过以下这个命令没?ulimit -s unlimited
德问是一个专业的编程问答社区,请
后再提交答案
关注该问题的人
共被浏览 (3296) 次

我要回帖

更多关于 centos mysql启动命令 的文章

 

随机推荐