两种方法在服务器linux安装mysql8.0

前景提要:本文用压缩包方式和rpm方式在服务centos7版本上安装mysql8.0.26版本

1.使用压缩包安装mysql

1.卸载之前安装的mysql

1.先关闭之前安装的mysql数据库

service mysqld stop

2.查看有没有安装包

rpm -qa|grep -i mysql

有的话使用rpm -ev mysql-community-client-8.0.13-1.el7.x86_64 --nodeps命令删掉,mysql-community-client-8.0.13-1.el7.x86_64替换为你实际安装包

如果系统上已安装有maraidb数据库,需要卸载mariadb,执行下面俩条命令

yum remove mariadb* -y

yum remove mysql* -y

3.删掉相关文件夹

[root@localhost /]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
/usr/share/mysql
[root@localhost /]# rm -rf /var/lib/mysql
[root@localhost /]# rm -rf /var/lib/mysql/mysql
[root@localhost /]# rm -rf /usr/lib64/mysql
[root@localhost /]# rm -rf /usr/share/mysql

还有删掉/etc/my.cnf文件这是配置文件

4.最后使用rpm -qa|grep -i mysql查看有没有漏掉的,如果无结果就是卸载完毕

2.在官网下载mysql8.0.26压缩包和配置

官网:MySQL :: Download MySQL Community Server (Archived Versions)

下载tar版本的mysql别下载成rpm的,注意你的centos版本,选择合适的版本。

下载完成后使用xftp上传到你的服务器上面

使用tar命令解压

移动到合适的包下面,mv这个命令不存在mysql这个目录的话就把这个压缩文件命名为这个文件

创建mysql用户组和用户,自己在mysql下面创建data目录存储信息,把权限交给mysql这个用户

[root@makabaka mysql]# groupadd mysql
[root@makabaka mysql]# useradd -r -g mysql mysql
[root@makabaka mysql]# chown mysql:mysql -R /usr/local/mysql/data

在/etc目录下创建mysql配置文件,内容为:

[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/data/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
port = 3307
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
character-set-server = UTF8MB4
[client]
socket =/usr/local/mysql/data/mysql.sock
default-character-set = UTF8MB4

basedir是你bin文件所在的目录

datadir是你的数据目录

socker设置为data里面这样启动时会产生mysql.socker文件会放在data目录下面,不会不知道在哪log-error文件道理也是如此,你pid文件也可以防在data文件目录下

port是启动端口

sql_mode 是 MySQL 数据库的一个系统变量,用于定义服务器执行 SQL 语句时应遵守的规则和模式。这个变量可以设置多种不同的模式,以改变 MySQL 行为的各个方面,例如日期和时间的处理、数据类型的验证等。感兴趣自己去了解一下

其他的按照我这样配置就行

3.初始化mysql因为此时的data文件什么都没有

进入bin目录使用./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize初始化data文件注意里面的参数要和自己的目录对应

[root@makabaka bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize
[root@makabaka bin]# cat /usr/local/mysql/data/mysql.err
2024-08-02T14:12:26.835535Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.26) initializing of server in progress as process 24724
2024-08-02T14:12:26.866402Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-08-02T14:12:28.139109Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-08-02T14:12:31.195586Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2024-08-02T14:12:31.196618Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2024-08-02T14:12:31.403471Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: fnjDp(mN?5<j
[root@makabaka bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

使用cat命令查看自己设置的日志文件里面,最后一行localhost:后面的就是初始密码了,使用cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql这条命令将会让你使用service来启动和停止mysql。

#启动
service mysql start
#查询
ps -ef|grep mysql

可以看到自己的socker文件日志文件,pid文件存放的位置

5.设置环境变量

export PATH=$PATH:/usr/local/mysql/bin

执行这条命令这样那就可以在任意目录下执行mysql -uroot,不用在bin目录下面

[root@makabaka mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

进入mysql,使用日志文件给出的初始密码,进去后你使用数据库的命令可能会提示说让你设置新密码,使用ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';来修改密码。这样压缩包安装mysql就完成了。

2.使用rpm命令来安装mysql8.0.26

首先还是卸载之前的数据库,这里就不在重复了

1.在官网下载rpm版本mysql

下载第一个,通过xtfp放入服务器

解压到mysql文件夹下面

tar -xf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql

看到很多rpm压缩包,在安装执行 rpm 安装包之前先下载一些插件,因为 mysql 里面有些 rpm 的安装依赖于该插件。

yum install openssl-devel
# 和
yum -y install libaio perl net-tools

安装完成后依次执行这些命令来安装rpm安装包

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm

rpm -ivh  mysql-community-devel-8.0.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm

rpm -ivh  mysql-community-server-8.0.26-1.el7.x86_64.rpm

在执行上面这些命令可能会失败报错:说依赖检测失败

情况一:因 mariadb 导致依赖检测失败

卸载mariadb-libs就行了

rpm -e mariadb-libs --nodeps

情况二:因 libcrypto.so.10.. 导致依赖检测失败

显示缺少了 libcrypto.. 相关的依赖,而 libcrypto.. 存在于 openssl 中,可以通过以下命令查看 openssl 是否安装

openssl version

如果没有出现版本信息,则需要安装 openssl,命令如下:

yum install openssl

然后重新安装一遍mysql就ok了,注意安装顺序,依赖与依赖之间有顺序

在 Linux 中 MySQL 安装好了之后系统会自动的注册一个服务,服务名称叫做 mysqld,所以可以通过以下命令操作 MySQL:

  • 启动 MySQL 服务:systemctl start mysqld

  • 重启 MySQL 服务:systemctl restart mysqld

  • 关闭 MySQL 服务:systemctl stop mysqld

这时候就可以用命令启动mysql了,启动之后日志在/var/log/mysqld.log这个文件查看初始密码

这时候就能登陆mysql了。

tips:/var/lib/mysql/是数据存放目录,/etc/my.cnf是配置文件存放目录,socker和pid在/run/mysqld这个目录下面,bin目录在/usr/sbin下面,里面没有bin文件夹,只有bin文件夹的里面的文件分散在里面。

参考博客:

Linux-安装MySQL(详细教程)_linux安装mysql-CSDN博客

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值