前景提要:本文用压缩包方式和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文件夹的里面的文件分散在里面。
参考博客: