Answers:
此解决方案解决了我的问题:
使用权限备份数据库文件:
sudo cp -avt /your/backup/directory /var/lib/mysql /etc/mysql/my.cnf
删除mysql文件:
sudo rm -rv /etc/mysql
通过运行完全删除MySQL:
sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7 mysql-client-5.7 mysql-client-core-5.7
建议使用Synaptic。
创建以下文件夹:
sudo mkdir -p /etc/mysql/conf.d
mysql安装程序没有自动执行,我也不知道为什么。
再次安装MySQL
sudo apt install mysql-server
sudo apt install lamp-server^
取而代之的是,我为PHP开发安装了其他依赖项。
停止MySQL:
sudo service mysql stop
还原数据库和文件:
sudo cp -a /your/backup/directory/mysql /var/lib
sudo cp /your/backup/directory/my.cnf /etc/mysql
重新启动MySQL:
sudo service mysql start
sudo rm /var/cache/debconf/config.dat
,sudo rm /var/cache/debconf/passwords.dat
和sudo rm /var/cache/debconf/templates.dat
。然后清除所有内容。然后重新启动系统。
我设法解决了这个问题,而不必清除所有内容。似乎问题在于从未创建过sys模式数据库,因此这是解决方案:
再次享受mysql_upgrade的工作。我想这可能是升级脚本的混乱。
我也有这个问题。每次我开始安装和安装时,该过程都会在数据库更新之后或期间挂起。这里的其他解决方案均无效。
最后我清除了
sudo apt purge mysql-server mysql-server-5.7
并按照mysql的说明从此处手动安装
然后,我用旧数据覆盖了数据目录
sudo cp -Rfv /var/lib/mysql /usr/local/mysql/data
最后添加了像这样的系统服务
/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
After=syslog.target
After=network.target
[Service]
Type=simple
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /var/run/mysqld
ExecStartPre=/bin/chown mysql:mysql -R /var/run/mysqld
ExecStart=/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/lib/mysql/plugin --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
TimeoutSec=300
PrivateTmp=true
User=mysql
Group=mysql
WorkingDirectory=/usr
[Install]
WantedBy=multi-user.target
然后跑
# systemctl daemon-reload
# systemctl enable mysql
# systemctl start mysql
然后一切似乎都像以前一样工作,并且mysql没有破坏系统更新
不利的一面是,将来我将需要进行手动更新。
如果你的root @ localhost
账号没有密码,那么在安装后过程中的错误作为陈述这里
(见特别是螺纹的最后一个注释)
TMP*
文件/var/lib/mysql-files
编辑文件/var/lib/dpkg/info/mysql-server-5.7.postinst
并在第370行中注释(使用#):
echo "ALTER USER 'root'@'localhost' IDENTIFIED WITH 'auth_socket';" >> "$initfile"
再次运行 sudo dpkg --configure -a
apt-mark hold mysql-server-5.7