下载 mysql 时出现奇怪的错误

下载 mysql 时出现奇怪的错误

我正在尝试将 mysql 安装到我的新笔记本电脑上,但出现了这些有趣的错误。

Renaming removed key_buffer and myisam-recover options (if present)
Cannot stat file /proc/2801/fd/1023: Permission denied
Cannot stat file /proc/2812/fd/1023: Permission denied
Cannot stat file /proc/2816/fd/1023: Permission denied
Cannot stat file /proc/2846/fd/7: Permission denied
Cannot stat file /proc/2846/fd/8: Permission denied
Cannot stat file /proc/2846/fd/9: Permission denied
Cannot stat file /proc/2846/fd/10: Permission denied
Cannot stat file /proc/2846/fd/11: Permission denied
Cannot stat file /proc/2846/fd/12: Permission denied
Cannot stat file /proc/2846/fd/56: Permission denied
Cannot stat file /proc/2846/fd/57: Permission denied
Cannot stat file /proc/2846/fd/1023: Permission denied
Cannot stat file /proc/2861/fd/6: Permission denied
Cannot stat file /proc/2861/fd/7: Permission denied
Cannot stat file /proc/2861/fd/8: Permission denied
Cannot stat file /proc/2861/fd/9: Permission denied
Cannot stat file /proc/2861/fd/10: Permission denied
Cannot stat file /proc/2861/fd/11: Permission denied
Cannot stat file /proc/2873/fd/4: Permission denied
Cannot stat file /proc/2873/fd/6: Permission denied
Cannot stat file /proc/2873/fd/7: Permission denied
Cannot stat file /proc/2873/fd/8: Permission denied
Cannot stat file /proc/2879/fd/6: Permission denied
Cannot stat file /proc/2879/fd/7: Permission denied
Cannot stat file /proc/2879/fd/8: Permission denied
Cannot stat file /proc/2879/fd/9: Permission denied
Cannot stat file /proc/2879/fd/10: Permission denied
Cannot stat file /proc/2879/fd/11: Permission denied
Cannot stat file /proc/2879/fd/15: Permission denied
Cannot stat file /proc/2879/fd/16: Permission denied
dpkg: error processing package mysql-server-5.7 (--configure):
 installed mysql-server-5.7 package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

我卸载并重新安装了 mysql 大约 4 次,但还是发生了同样的事情。我的旧服务器上还有另一个 lamp 堆栈运行良好,有什么建议吗?谢谢!

答案1

我的观察是错误“无法统计文件 /proc/2801/fd/1023:权限被拒绝”我以前从未遇到过这种情况,可能需要@Ryan Akuszewski 笔记本电脑进行进一步分析。我对错误感到惊讶“已安装 mysql-server-5.7 包安装后脚本子进程返回错误退出”因为@Ryan Akuszewski 正在安装,MYSQL 8.0.13 server但是有一个引用"mysql-server-5.7 package"很奇怪。问题应该出在依赖项上,因此笔记本电脑需要先解决它们,然后才能继续安装。这就是为什么我从依赖项安装开始这个过程。

如果有人对这个问题有更好的见解,请出来分享他们的专家意见。

libaio如果您的系统中还没有该库,您可能需要安装它:

如何检查 libaio 是否已安装(快速)

$ apt-cache policy libaio1

如果已安装,它将显示已安装的版本,如果未安装,它将显示文本行。如果已安装,则跳过安装 libaio 并转到步骤 1。

安装 libaio

$ sudo apt-get install libaio1 libaio-dev

笔记:使用以下命令来修复所有依赖项libaio1libmecab2等等。

$ sudo aptitude update 
$ sudo aptitude upgrade

笔记:确保aptitude已经在Ubuntu中安装。

在此处输入图片描述
Figure-1: Install libaio1

步骤 1 获取 MySQL APT 存储库

Ubuntu 默认存储库附带的 MySQL 软件包版本不是最新版本。如果您需要安装最新版本的 MySQL 数据库,您可能需要在 Ubuntu 中安装其存储库。您也可以使用命令行下载,更改软件包的版本号。

$ cd /tmp/ && wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb

然后运行以下命令进行安装

$ sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb

运行上述命令时,您应该会收到配置提示。只需选择“确定”,如下图所示。

MySQL APT Repo 包含 MySQL 服务器以及各种 MySQL 组件。您可以选择适当的产品来选择您希望接收的版本。

第 2 步:安装 MySQL 8.0.13 服务器和客户端。

现在存储库已安装,请运行以下命令进行安装

$ sudo apt update
$ sudo apt install mysql-server mysql-client

还有一些软件包名称中带有server-coreclient-core。这些软件包仅包含二进制文件,并由标准软件包自动安装。单独安装它们不会导致 MySQL 设置正常运行。

如果系统警告您未满足依赖关系dpkg,则可以使用以下方法修复它们apt-get

$ sudo apt-get -f install   # Fix/correct the system with any broken dependencies in place.
$ cd ~

以下是系统上安装文件的位置:

  • 所有配置文件(如my.cnf)都位于/etc/mysql
  • 所有二进制文件、库、标头等均/usr/bin位于 /usr/sbin
  • 数据目录位于/var/lib/mysql

警告:其他供应商也提供 MySQL 的 Debian 发行版。请注意,它们在特性、功能和约定(包括通信设置)方面可能与 Oracle 构建的发行版不同,并且本手册中的说明不一定适用于安装它们。应参考供应商的说明。

运行上述命令时,您应该会收到配置提示。只需选择 OK,如下图所示。但不幸的是,我的观察是,MySQL 不支持Cosmic Cuttlefish(Ubuntu 18.10),安装试图中止,但您可以选择Ubuntu Bionic(18.04) 并继续安装。使用向上箭头并选择ubuntu bionic(18.04),如图 1 所示。

导航提示:

a) 使用将光标定位在您选择的系统上。b
) 点击Spacebar标记您的选择(不要忽略此步骤)。c
) 使用Tab导航到OK按钮并按下Return

在此处输入图片描述 Figure-2: Select ubuntu bionic (18.04) in the absence of ubuntu cosmic (18.10)

MySQL APT Repo 包含 MySQL 服务器以及各种 MySQL 组件。您可以选择适当的产品来选择您希望接收的版本。

在此处输入图片描述
Figure-3: Select appropriate product

在安装过程中,系统将提示您创建并确认 MySQL 根密码。

在此处输入图片描述 Figure-4: Enter password

在此处输入图片描述 Figure-5: Re-Enter password

另外,您确认是否要使用新的密码加密功能。建议使用。

在此处输入图片描述 Figure-6: password encryption feature

在此处输入图片描述 Figure-7: Configuring mysql communuty server

升级共享客户端库的特别说明

  • 您可以使用以下命令从 MySQL APT 存储库安装共享客户端库(请参阅使用 APT 安装其他 MySQL 产品和组件更多细节):shell> sudo apt-get install libmysqlclient20
  • 如果你已经从 Linux 平台的软件存储库安装了共享客户端库,则可以使用相同的命令通过 MySQL APT 存储库及其自己的包进行更新(请参阅 通过 APT 更新替换原生发行版更多细节)。
  • 使用 APT 存储库更新 MySQL 后,使用旧版本的共享客户端库编译的应用程序应该可以继续工作。

要安装共享客户端库:

$ sudo apt-get install libmysqlclient18

在此处输入图片描述 Figure-8: install the shared client libraries

MySQL 服务应在安装后自动启动,检查其状态以确保其已启动并正在运行。

$ sudo service mysql status

此后,MySQL 应该安装完毕,您可以通过运行以下命令登录:

$ sudo mysql -u root -p

您应该看到如下所示的 MySQL 欢迎屏幕:

在此处输入图片描述 Figure-9: Login into mysql

步骤3:验证MySQL安装

$ dpkg --get-selections | grep mysql    # Show packages relating to mysql

在此处输入图片描述 Figure-10: Show packages relating to mysql

因此,包列表如上图 10 所示。

$ dpkg --status mysql-server            # Check the details of a package

在此处输入图片描述 Figure-11: Status of mysql server

服务器状态如上图11所示。

$ dpkg --listfiles mysql-server     # List the installed files of a package

在此处输入图片描述 Figure-12: List the installed files of the package

以下命令将检查"mysqld"(MySQL 服务器守护进程)的位置:

$ which mysqld

在此处输入图片描述 Figure-13: Location of mysql server deamon

$ whereis mysqld 在此处输入图片描述 Figure-14: Where is msqld?

从上面的输出可以看出,MySQL 服务器守护进程mysqld安装在/usr/sbin(系统-软件二进制文件)中。

$ man mysqld // Read the manual 在此处输入图片描述 Figure-15: Read the manual for MySQL server daemon

以下命令将检查“mysql”(MySQL 命令行客户端)的位置

$ which mysql

在此处输入图片描述 Figure-16: Mysql is installed in '/usr/bin'

$ whereis mysql

在此处输入图片描述 Figure-17: Mysql related directories

从上面的输出可以看出,MySQL 命令行客户端mysql和实用程序(例如mysqladmin和)mysqldump位于/usr/bin(应用程序软件二进制文件)。

$ man mysql // Read the manual

在此处输入图片描述 Figure-18: Read the manual for MySQL Command line tool

步骤4:配置MySQL服务器

MySQL 按照指定的顺序从下面显示的文件中读取启动选项(首先读取顶部文件,稍后读取的文件优先。参考:http://dev.mysql.com/doc/refman/5.7/en/option-files.html

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. SYSCONFDIR/my.cnf
  4. $MYSQL_HOME/my.cnf (server only)
  5. --defaults-extra-file启动选项中指定的文件(如果有)
  6. ~/.my.cnf
  7. ~/.mylogin.cnf(仅限客户端)

安装默认/etc/mysql/my.cnf包含目录/etc/mysql/conf.d/,且/etc/mysql/mysql.conf.d/./etc/mysql/conf.d/mysql.cnf空。因此,主配置文件是/etc/mysql/mysql.conf.d/mysqld.cnf

快速浏览/etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
user            = mysql
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
......
log_error = /var/log/mysql/error.log
......
  • "mysql"创建一个名为的特殊用户来运行 MySQL 服务器。
  • 服务器在默认端口号上运行3306
  • 数据目录位于/var/lib/mysql(由 拥有 mysql:mysql)。
  • 错误日志位于/var/log/mysql/error.log

步骤 5:启动/关闭 MySQL 服务器(mysqld

MySQL 作为名为 的服务运行"mysql"(配置为"/etc/init.d/mysql"),在启动后自动启动。要启动/停止/重新启动 mysql,您可以:

$ sudo service mysql start
$ sudo service mysql stop
$ sudo service mysql restart        # Stop and start
$ sudo service mysql status         # Show the status

安装后,MySQL 服务器将自动启动。您无法启动另一个实例!要检查该mysqld过程,请执行以下操作:

$ ps aux | grep mysqld

在此处输入图片描述 Figure-18: mysqld instance has begun

步骤 6:启动/停止 MySQL 命令行客户端(mysql

要启动 MySQL 客户端:

$ mysql -u root -p          # Enter the password for the root user you have set in Step 1

mysql> select user, host, authentication_string from mysql.user;

在此处输入图片描述 Figure-20: Host and Authentication_string information for various users

mysql> exit

步骤7:检查MySQL的状态。

$ sudo service mysql status     # Show the status

在此处输入图片描述 Figure-21: Status information of Mysql Server Process.

这就是如何在 Ubuntu 上安装最新版本的 MySQL!尽情享受吧!

相关内容