os:ubuntu 11.10
db: mysql 旧5.1.61 新安装5.1.69
数据库服务器非正常关机(虚拟机重置时有数据插入或在对大表建索引),重启机器后命令行执行mysql -uusr -ppwd连接,报错[ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)],经查未启动mysql。/usr/sbin/mysqld start --user=root尝试启动mysql失败,error.log中显示innodb recovery失败。解决步骤:
0. 创建虚拟机快照(这样才能放心改)。
1. 在/etc/mysql/my.cnf中设置innodb_force_recovery=3 即可启动(我遇到的情况只有设置为3才能启动),此时只能查询和truncate表,不能执行insert、update、delete操作。
2. 将每个库依次导出(我使用了Navicat将每个库都转储成单个sql文件,然后放到/root/mysql.data-sql.bak/之下了)
3. cp -r /var/lib/mysql/* ~/mysql.bak(ibdata1和frm也备一份)
4. 删除现有mysql,清空相关目录
按照网络上的说明autoremove再安装,不成功
冲心autoremove,删掉mysql相关文件,安装 OK
5. 修改/etc/mysql/my.cnf 重启mysql service mysql restart
字符集:(这个很重要,我就是导了一个库之后,开发连上发现乱码,只好删掉设置后重导)
http://blog.knowsky.com/254652.htm
默认存储引擎:
http://blog.csdn.net/iamduoluo/article/details/7847448
修改InnoDB为独立表空间模式:
http://linuxfun.me/?p=1263
http://www.php-oa.com/2012/04/20/mysql-innodb_file_per_table.html
涉及参数
default-storage-engine=INNODB
default-character-set = utf8
character_set_server = utf8
lower_case_table_names = 1
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=0
6. 对步骤2中得到的每个sql文件创建对应数据库,再对每个数据库执行对应sql文件中的sql语句。
mysql对特定库执行文本文件中的sql语句:
mysql -uusr -ppwd dbname</root/mysql.data-sql.bak/abc.sql
p.s.
5.1.69中不能使用ab-cd作为库名,ab_cd的库名则可以。
设置权限举例:
grant all privileges on *.* to root@'%' identified by 'pwd' with grant option;
该虚拟机上的数据库都是开发在用,一直未做备份,导致恢复时被动。
最近打算对该虚拟机上的数据库设置备份计划;设置master-slave,提高可用性。
分享到:
相关推荐
ERROR 1130 (HY000): Host ‘localhost’ is not allowed to connect to ...” 尝试另一个mysql库中的user表,覆盖,不行,估计是版本不同 解决: 编辑 my.ini 在[mysqld]的段中加上一句:skip-grant-tables 例如: Ja
InnoDB Operating system error number 9. [MDEV-9749] InnoDB receives 'Bad file descriptor' error, possibly related to feedback plugin Lost connection to MySQL server at 'handshake- reading initial ...
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 出现问题原因: 有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socket ...
电脑在使用过程中死机,重启后发现mysql没有启动成功,查看错误日志发现是innodb出现问题导致mysql启动失败。 错误日志 $ mysql.server start Starting MySQL . ERROR! The server quit without updating PID file...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock' (2) 排查过程 1、先查看 /etc/rc.d/init.d/mysqld status 看看mysql是否已经启动. 另外看看是不是权限问题...
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,出现这个问题怎么办?不用着急,下面给出答案。 为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,...
016-03-03T00:02:30.483037Z 0 [ERROR] InnoDB: Unable to lock ./ibdata1 error: 35 2016-03-03T00:02:30.483100Z 0 [Note] InnoDB: Check that you do not already have another mysqld process using the same ...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) 2、故障分析 查看mysql实例的状态 [root@localhost scripts]# netstat -ntlp | grep 3306 tcp 0 0 :
2017-11-15 19:23:46 1404 [Note] InnoDB: Starting crash recovery. 2017-11-15 19:23:46 1404 [Note] InnoDB: Reading tablespace information from the .ibd files... 2017-11-15 19:23:46 1404 [Note] InnoDB: ...
从官方文档知道linux上面编译安装的mysql默认的连接为100个,这样对于网站的需求来说是远远不够的。 mysql官方告诉我们需要修改max_connections的值,...例如我的[mysqld]的内容如下 代码如下: [mysqld] port = 3306 so
2、在Prometheus官网下载并解压mysqld_exporter,在启动mysqld_exporter前需要配置好数据库信息,有2种实现方式:一个是将数据库信息写入到环境变量中,从而让exporter能读取到MySQL的信息;另一种是写入到一个配置...
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) 解决办法: [root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root / > -S /var/lib/mysql/mysql.sock ...
资源名称:mysql启动失败的解决方法资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
引用 090613 10:15:27 [ERROR] Default storage engine (InnoDB) is not available 090613 10:15:27 [ERROR] Aborting 090613 10:15:27 [Note] C:\www\mysql\bin\mysqld-nt: Shutdown complete 估计是上次加了参数...
当你在安装 MySQL过程中,通过mysqld --initialize 初始化 mysql 操作后,生成临时密码后,没有直接进行 MySQL连接,中途重启服务或者重启机器等,导致密码失效问题,怎么处理呢,感兴趣的朋友一起看看吧
mysqld_exporter安装包
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords 出现问题原因: 可能是你在安装 MySQL过程中,通过mysqld –initialize 初始化 ...
mysqld_exporter安装包mysqld_exporter-0.12.0.linux-amd64.tar.gz
本篇文章是对mysql基础中的mysqld_safe启动执行流程进行了详细的分析介绍,需要的朋友参考下
Mysql启动、停止、重启常用命令(都是在root背景下) a、启动方式 1、使用 service 启动: [root@localhost /]# service mysqld start (5.0版本是mysqld) [root@szxdb etc]# service mysql start (5.5.7...