欢迎光临散文网 会员登陆 & 注册

【开发记录】在linuxDeploye上的ubuntu2204安装MySQL遇到的问题

2022-12-13 13:24 作者:锁部千本  | 我要投稿

闲来无事想着在我老旧的leX722上装个服务器,好不容易装上了ubuntuARM64的2204版本,安装apache2和php都没问题,就MySQL安装配置各种出错,我来总结下

一、安装过程出错

错误概述

    有 2 个软件包没有被完全安装或卸载。

    解压缩后会消耗 0 B 的额外空间。

    您希望继续执行吗? [Y/n] y

    正在设置 mysql-server-5.7 (5.7.24-0ubuntu0.16.04.1) ...

    mysql_upgrade: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) while connecting        to the MySQL server

    Upgrade process encountered error and will not continue.

    mysql_upgrade failed with exit status 11

    dpkg: 处理软件包 mysql-server-5.7 (--configure)时出错:

    子进程 已安装 post-installation 脚本 返回错误状态 1

    dpkg: 依赖关系问题使得 mysql-server 的配置工作不能继续:

    mysql-server 依赖于 mysql-server-5.7;然而:

    软件包 mysql-server-5.7 尚未配置。

版本可能是其他版本,但解决方法都一样,,当然这有一句mysql_upgrade: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) while connecting to the MySQL server这个错误稍后会提到

解决方法:

    //现将info文件夹更名

    sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old 

    //再新建一个新的info文件夹

    sudo mkdir /var/lib/dpkg/info

    sudo apt-get update,再 $ sudo apt-get -f install //不用解释了吧

    //执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下

    sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old 

    //把自己新建的info文件夹删掉

    sudo rm -rf /var/lib/dpkg/info 

    //把以前的info文件夹重新改回名字

    sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info



二、启动服务失败
先用编辑器查看错误文件,一般在/var/log/mysql/error.log

如果只有mysqlx的报错重启下机子就行

重启后如果依然启动失败,错误日志中有socket: '/var/run/mysqld/mysqlx.sock文件连接失败相关错误,需要运行命令
usermod -G 3003 mysql
即可解决
原因是android里将一些硬件使用(包括网络)的权限归到不同的用户组,而3003就是关于网络权限的组,称为inet. 上述命令是在debiad的用户权限系统中给mysql添加inte权限.
如果是文件创建失败则大概率是文件夹读写权限不够,在路径/var/run/mysqld/对mysql用户进行授权即可
限当然因为权限问题,大概率ping命令也不能用,所以还要运行下
usermod -G 3003 root
之后再重启下启动服务就行


踩坑吐槽:主要是第二个错误对于socket文件连接失败,网上大多方法都是初始化数据库、提升权限什么的,但都无济于事,但就在今天偶然间检索到了一篇”LinuxDeploy下ping命令无法运行,提示socket:权限不足“的文章,既然都是socket文件连接失败,受到启发,便想到了给mysql用户权限。。。至于错误为何如此离谱,可能是因为Linux deploy将系统运行在chroot容器里的原因,导致mysql权限不够不能本地连接



参考文章链接:www.cnblogs.com/EasonJim/p/7215988.html

blog.csdn.net/weixin_44858471/article/details/105712008


【开发记录】在linuxDeploye上的ubuntu2204安装MySQL遇到的问题的评论 (共 条)

分享到微博请遵守国家法律