ubuntu系统deb包安装mysql

#ubuntu系统deb包安装mysql
摘要:ubuntu系统通过dpkg命令安装deb软件包,安装mysql数据库

一、下载mysql安装包
ubuntu18。04下载链接:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-server_8.0.31-1ubuntu18.04_amd64.deb-bundle.tar
ubuntu20.04下载链接:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-server_8.0.31-1ubuntu20.04_amd64.deb-bundle.tar
ubuntu22.04下载链接:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-server_8.0.31-1ubuntu22.04_amd64.deb-bundle.tar
ubuntu22.10下载链接:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-server_8.0.31-1ubuntu22.10_amd64.deb-bundle.tar

二、下载依赖包(两个)

以下链接为Ubuntu18.04 LTS下的依赖包,不同系统依赖包不一样

(1)libaio1

http://archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.110-5_amd64.deb

(2)libmecab2

http://archive.ubuntu.com/ubuntu/pool/universe/m/mecab/libmecab2_0.996-5_amd64.deb

三、安装顺序

1、解压tar包

tar -xvf mysql-server_8.0.29-1ubuntu18.04_amd64.deb-bundle.tar

2、安装顺序(因为包存在依赖关系,所以要安顺序安装)

dpkg -i mysql-community-client-plugins_8.0.29-1ubuntu18.04_amd64.deb

dpkg -i mysql-community-client-core_8.0.29-1ubuntu18.04_amd64.deb

dpkg -i mysql-common_8.0.29-1ubuntu18.04_amd64.deb

dpkg -i mysql-community-client_8.0.29-1ubuntu18.04_amd64.deb

dpkg -i libmysqlclient21_8.0.29-1ubuntu18.04_amd64.deb

dpkg -i libmysqlclient-dev_8.0.29-1ubuntu18.04_amd64.deb

dpkg -i mysql-client_8.0.29-1ubuntu18.04_amd64.deb

dpkg -i libaio1_0.3.110-5_amd64.deb #依赖包
(如果解压出来没有libaio1这个包,那么直接用apt安装:apt install libaio1)

dpkg -i libmecab2_0.996-5_amd64.deb   #依赖包

dpkg -i mysql-community-server-core_8.0.29-1ubuntu18.04_amd64.deb

dpkg -i mysql-community-server_8.0.29-1ubuntu18.04_amd64.deb

dpkg -i mysql-server_8.0.29-1ubuntu18.04_amd64.deb

最后一个包安装弹窗需要设置root用户密码。

四、启动服务

mysql -V查看mysql版本
systemctl status mysql

在这里插入图片描述

五、登录

mysql -u root -p
 然后输入在上面设置的root用户密码

在这里插入图片描述

最后:
Linux The server quit without updating PID file的几种解决方法
不管是在安装还是运行MySQL的时候,都很有可能遇到报错:Linux The server quit without updating PID file。字面意思是无法更新pid文件,pid大家都懂得,就是MySQLserver的主进程,MySQL中比较重要的三个文件,一个是管进程的,也就是上面报错的那个pid文件,这个文件名是本机的域名加pid后缀,第二个文件是mysql.sock 文件,这个文件是进程间通信,以及mysql与其他程序通信的socker接口文件,第三个文件是最为重要的mysql配置文件,没有之一,my.cnf、端口的定义,大小写敏感的定义。连接数的定义,等等配置都在这个文件内定义。

那么,这个错误的原因是什么呢?我想说,原因很多,需要根据具体情况具体分析。

第一,权限的问题,在出这个错误的时候,我所说的权限是mysq.cnf和所定义的mysql数据库存放目录的权限,要保证是mysql用户的权限,如果启动mysql还有问题,那么需要考虑提高权限了。

说人话, 数据库存放目录必须是mysql这个用户的属组(通常的,安装MySQL的时候建立的用户为mysql,不建议使用别的用户),mysql的启动脚本必须有执行权限。赋予权限的命令为:chown -R mysql. /usr/local/mysql,假设我的mysql是安装在 /usr/local/mysql目录,数据库存放目录为 /usr/local/mysql/data/

第二,进程中有mysql的进程,上次的退出并没有自动结束该pid,导致新的进程无法启动,毕竟,mysql每次启动系统只会给分配一个pid号,再启动,系统也不可能给你分配pid号了。运行命令 ps -ef |grep mysql 找到mysql的进程结束它,然后在启动mysql。

第三,进入mysql数据库的存放目录,如果有mysql-bin.index这样的文件,删除它,在启动mysql,该文件产生的原因不详,不过删除必定没影响,或者另一个binlog.index也删除,两个index后缀的都删除也可以。

第四,my.cnf 这个配置文件内容不对,检查有没有skip-federated这个字段,如果有注释或者删除。

检查是否定义了数据库存放目录,如果没有定义,请立刻定义。

第五,错误日志目录不存在解决方法:使用“chown” “chmod”命令赋予mysql目录所有者及权限。

第六,my.cnf文件内存在lower_case_table_names=1 字段,注释掉它。(这个选项是1表示不区分大小写)。具体原因不详。

总结:mysql说好安装也好安装,说难也难,难点在于权限的配置,给高了不安全,给低了有可能启动出问题,如果启动出问题了,首先第一件事就是检查目录权限,第二就是检查my.cnf这个配置文件,skip-federated,lower_case_table_names=1 ,这样的字段注释掉,第三,清除旧的mysql进程,如果有就清除掉,旧的不去新的不来,就这么一个道理。第四,进入mysql数据库存放目录删除index后缀的文件。下面,给张图,详细的权限慢慢体会、

/etc/my.cnf文件配置:
在这里插入图片描述

注意:
7、防火墙原因.

centos 会默认开启selinux .

[root@centos74 ~]# vim /etc/selinux/config
SELINUX=disabled
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值