数据库

解决Linux下MySQL启动错误Starting MySQL.Manager of pid-file quit without updating file.[FAILED]

上午刚装完MySQL,启动时报如下错误: Starting MySQL.Manager of pid-file quit without updating file. 依次尝试了从谷姐找到的各种方法,发现只要执行如下MySQL初始化命令即可解决: 下面附上从谷姐找到的解决此问题的方法集锦,也许每个人遇到的问题的原因会不一样,经供参考: 一、查看报错日志 报错日志是我们解决问题的方向灯,没有方向灯我们就没了方向。 我有次安装时报错日志里就有这样的错误: 很明显是缺少了库文件 libstdc++.so.5 ,这时我们搜索和libstdc相关的包安装即可。 二、也许是selinux惹的祸 如果是centos系统,默认会开启selinux,这个时候可以先关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。 三、残余数据 也有可能是第二次在机器上安装mysql,有残余数据影响了服务的启动,去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。 四、确定数据目录的权限 数据目录一般是<prefix>/data,检查一下它的归属,如果不是mysql所有者,一般安装mysql时都会创建mysql的用户和组的,这时要修改一下用户和组: chown -R mysql:mysql /var/data 五、没有指定数据目录 mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在节下有没有指定数据目录(datadir)。如果没有请在下设置这一行: datadir = /usr/local/mysql/data 六、还有mysql进程在跑着 如果这是第二次在机器上安装mysql就极有可能会出现这种情况的,这时系统上很有可能还有mysql进程在运行着。可以执行下列命令查看: ps -ef | grep mysql 如果出现的结果不止一行的就赶快把它kill掉吧。 七、skip-federated字段在作祟 可以检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。 八、出错日志目录不存在 也有可能你现在还不知道mysql的出错日志在哪里吧?这时你可以执行命令查看: 这时一定会报错的, 并在错误中显示将错误写在某某目录的某某文件里了,这里检查一下这个目录和文件是否在,在的话就按日志指示解决,如果没有的话就要创建目录并修改权限和归属了。一般会是/var/lib/mysql/mysql.error,注意mysql.error不用创建的。 这时再试试吧。如果还是不行的话就留言让大家帮你看看吧……  以上摘自Angel Sanctuary 九、可能是data/mysql-bin.index在作怪 前因:因为硬盘满了,mysql启动不起来了。登录上去看了一下,发现原因。删除mysql的日志文件,重启mysql发现错误:Starting MySQL.Manager of pid-file quit without updating file. 网上有不少这个原因的解释,但是都不是我想说的。我要说的原因其实很白痴:data/mysql-bin.index没有删除,data/mysql-bin.index是存放日志文件索引的文件,只删除了日志文件而没有对日志的索引文件做处理显然是不行的。 删除data/mysql-bin.index文件,再service mysqld start就可以了。
阅读全文
数据库

超简单的MySQL主从复制配置步骤

MySQL估计就是俺的主战场了,看来得多收藏一些MySQL的技术教程才行。正愁没啥东西可以写,就先转载一篇超简单的MySQL主从复制的配置教程好了。 怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 1、主从服务器分别作以下操作: ①、版本一致 ②、初始化表,并在后台启动mysql ③、修改root的密码 2、修改主服务器master: 3、修改从服务器slave: 4、重启两台服务器的mysql 5、在主服务器上建立帐户并授权slave: 6、登录主服务器的mysql,查询master的状态 注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化 7、配置从服务器Slave: 8、检查从服务器复制功能状态: 注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。 以上操作过程,主从服务器配置完成。 9、主从服务器测试: 主服务器Mysql,建立数据库,并在这个库中建表插入一条数据: 在从服务器Mysql查询: 10、附加:监控 编写一shell脚本,用nagios监控slave的两个“yes”,如发现只有一个或零个“yes”,就表明主从有问题了,发短信警报吧。
阅读全文
解决Wordpress修改数据库表前缀后无法登陆的问题 数据库

解决Wordpress修改数据库表前缀后无法登陆的问题

昨晚,MOREOPEN博友重装Wordpress后发现没有任何内容,帮忙解决时,发现他的数据库居然有3种前缀,看来是多次安装的时没填的前缀不一致造成的。 于是,玛思阁着手帮他整理数据库: 点击查看大小,找到有数据的的表前缀,发现前缀居然是数据库名,很长很长。。。太难看了!这对于我这种强迫症患者是无法容忍的。。。我先将其他2个前缀的所有空表全部删除,只留下那个前缀很长的表,然后全选使用下方的修改表前缀功能,全部给改了。 重新安装WP后,发现原来的那个用户名登陆不了了,提示权限不足,度了一把,找到了解决办法,这就来记录下! 网上找到的方法如下(玛思阁稍作整理):   默认的表前缀为wp_,如果你修改了wp_config.php中的表前缀,也就是$table_prefix=后面的内容,则您需要同步修改数据库中的表前缀,修改完成后,如果登录wordpress后台成功后,会返回“您没有足够的权限访问这个页面。”的提示,那也就是说您还没有完成修改,Wordpress的代码设计严密,没有那么简单让你完成。 解决办法:打开 *_options表,找到optionname字段值为*_user_roles的栏位,改为与你修改后的前缀(*表示实际前缀)。 然后打开 *_usermeta 表,将meta-key字段中有旧前缀的值,更为新的前缀就OK。 不知道为啥,发现在他的这个表搜索后,发现有好几千条数据!看来手动是行不通了,只好使用SQL语句进行局部替换了,SQL语句如下,在phpMyAdmin中选定数据库后,点击工具条中的SQL执行如下语句: 以上仅为示例,实际得根据新旧表前缀进行修改: 其中,new_表示修改后的新的前缀,old是修改前的前缀,按照实际修改后,执行即可!   实际以上SQL代码也就是MySql的部分替换语句,不会的一起来学习下: 比如,将the_table 表 the_subject字段中的Welcom to替换成 欢迎光临:
阅读全文
数据库

常用MySQL语句搜集整理

折腾WordPress多少要接触到MySQL的一些操作,比如,玛思阁之前重装postview插件后发现所有的view数据都被清空了!只好到phpMyAdmin后台去进行wp_postmeta表的部分数据恢复,其中就会用到下文【根据条件导出mysql的指定表】的方法,将meta_key=views的栏位对应的meta_value值全部恢复过来。所以,以下内容很基础,但是却很实用,特地搜集整理,以备不时之需。 一、终端登陸Mysql 例:账号:root,密码:123456,登陆成功的情形如下 二、创建用户 ①、创建只能本地登陆的用户newuser,允许在dbname上进行select,insert,update,delete操作,密码abc.123:   ②、创建允许远程登陆的用户newuser,允许在dbname上进行select,insert,update,delete操作,密码abc.123: 最后刷新MySQL权限即可: 三、创建,删除和最基本查询 Ps:举例数据库名为dbname,表为mytable 四、更新操作 1、对列的操作: 2、对行的操作: 五、简单查询: 1.在查询结果中显示列名 2.精确查找: 六、其他语句整理 1. 根据条件导出mysql的指定表(即部分数据导出,WordPress网站应该用得到): 恢复方法:先用 “use dbname” 选定数据库,然后使用 “source sql的文件路径”命令即可恢复。 例:从wp_blog数据库的wp_postmeta表中导出meta_key=views 的数据到 /home/xyx/Temp.sql 这个文件中 如果是在终端可如下恢复: 当然,也可以进入phpMyAdmin中,选定指定表格导入Temp.sql即可。 本文将持续更新,收集更多的实用Mysql命令。
阅读全文
数据库

关于博客的数据库分类

这个分类是在上一次修改文章分类的时候加上的,但一直都没有添加文章,原因很简单,因为数据库是我较弱的一环,肚里确实没多少可以记录的"墨水"。所在的公司分工忒细致,数据库是和运维分开的,有专门的管理Oracle的DBA小组,所以我这样的SA就被剥夺了DB实践运维的机会。 我这个人有个不好的毛病,不喜欢按部就班的教科书式的学习知识,讨厌有的书前几章洋洋洒洒的介绍理论知识,看了就打瞌睡!最喜欢的就是在实例中学习,大把大把的理论,我非但记不住,甚至看着没精打采的! 自己也确实建立个数据库玩过,但是脑子思维,思维太塞,不知道可以加入些什么database、什么table,总之就是不知道要做什么?当然运维本身知识面太广的原因,也导致了精力确实不太够。 言归正传,作为一名运维屌丝,对数据库终归还是要掌握下的! 后续在这个分类会记录一下我的数据库学习笔记,希望勉励自己,能够坚持学习下去。
阅读全文