Mysql 重启后不持久

标签 mysql

我最近买了一台运行 Ubuntu 16.04.1 LTS(64 位)的新笔记本电脑。我已经安装了几十个应用程序,但有一个让我很头疼,如果有任何帮助,我们将不胜感激。

关于 mysql,我从头开始:

sudo apt remove --purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo rm -rf /var/lib/mysql*
sudo apt install mysql-server

我从备份安装我的数据库,一切正常。

我关闭/打开笔记本电脑,但 mysql 不工作。首先守护进程没有运行:

ps -A | grep sql
2056 ? 00:00:00 mysql-systemd-s

但是我不认识的东西 mysql-systemd-s 正在运行。

现在无法使用mysql:

mysql -u root -p
Enter password:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial 
communication packet', system error: 104

服务似乎无法启动:

service mysql start
Job for mysql.service failed because the control process exited with 
error code. See "systemctl status mysql.service" and "journalctl -xe"  
for details.

但这些都没有用。/var/log/mysql/error.log 有更多信息:


......
2017-01-13T21:01:04.926244Z 0 [Warning] Failed to set up SSL because 
of the following SSL library error: SSL context is not usable without 
certificate and private key
2017-01-13T21:01:04.926272Z 0 [Note] Server hostname (bind-address): 
'127.0.0.1'; port: 3306
2017-01-13T21:01:04.926288Z 0 [Note] - '127.0.0.1' resolves to 
'127.0.0.1';
2017-01-13T21:01:04.926327Z 0 [Note] Server socket created on IP: 
'127.0.0.1'.
2017-01-13T21:01:04.927774Z 0 [ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
2017-01-13T21:01:04.927897Z 0 [ERROR] Aborting

但是,建议运行 mysql_upgrade 是没有用的,因为除非 mysql 服务器正在运行,否则无法运行 mysql_upgrade!由于这个错误,mysql 服务器没有运行。

因此,我删除并重新安装所有内容,然后运行 ​​mysql_upgrade。这似乎没有错误地完成。但是,当我重新启动机器时,我又回来了,但 mysql 没有工作。

我也尝试过使用 --skip-grant-tables 选项启动 mysqld,但这仍然不允许连接。

目前,每次我重新启动计算机时,我都必须删除 mysql 的所有痕迹,重新安装 mysql,然后从备份重新加载我的数据库。这是一个真正的痛苦。

有人知道发生了什么事吗?

最佳答案

问题似乎已解决。线索是如果我不恢复我自己的数据库备份,mysqld 似乎在断电/开机后仍然存在。如果我确实恢复了那个备份,它没有。

通常,我从不查看我的数据库备份;相反,我只是执行 mysqldump 并保留生成的文件以备不时之需。

根据以上线索,我查看了 mysqldump 生成的文件并将其减小到最小大小,以便它只包含我要恢复的数据库。这似乎已经成功了。

我保留了坏文件,并一直在研究差异以找出其中的问题,但还没有找到。

关于Mysql 重启后不持久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41643935/

相关文章:

sql - 如何在数据库中存储登录?

php - json_decode 函数 php ://input return Invalid JSON Format

mysql - SELECT 子句中的子查询

mysql - Mysql 统计 3 行

MySQL正则表达式排除字符串开头的某个文字?

android - 从 mysql 数据库填充两个相互依赖的微调器

php - 数据库存在但返回错误消息 "Unknown Database"

php - 'group' 列以某种方式导致语法错误

mysql - 数据库关系(MySQL Workbench)

mysql - MySQL查询缓存何时被刷新?