linux升级mysql

linux升级mysql

  • 一.介绍
  • 二.下载
  • 三.文件配置
    • 1.查找删除mysql
    • 2.解压配置
  • 四.修改配置
  • 五.初始化mysql服务
  • 六.启动mysql
  • 七.配置数据库
  • 七.测试

一.介绍

由于最近业务需要,不得不将之前的mysql5.7.26升级到mysql8.0加

Linux安装mysql(5.7.26):https://blog.csdn.net/weixin_45853881/article/details/128845435

二.下载

下载地址:https://downloads.mysql.com/archives/community/
我这次下载的是8.0.30(emmmm,原因是因为洁癖这个看着顺眼,就这个了)
linux升级mysql_第1张图片
注意这里的文件后缀名是tar.xz

三.文件配置

1.查找删除mysql

whereis mysql

在这里插入图片描述

rm -rf /usr/local/mysql/

2.解压配置

创建文件夹

mkdir /usr/local/mysql

进入文件夹

cd /usr/local/mysql

自己上传文件,或者使用wget命令下载

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

解压

tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz 

文件重命名

mv mysql-8.0.30-linux-glibc2.12-x86_64/ mysql-8.0.30

查询是否存在用户组上一篇文章都存在
linux升级mysql_第2张图片
创建文件数据目录

mkdir /usr/local/mysql/mysql-8.0.30/data

授予权限

chown mysql:mysql -R /usr/local/mysql/mysql-8.0.30/data

四.修改配置

修改/etc/my.cnf配置文件,没有得到话就创建,之前我写过所以修改就行

vi /etc/my.cnf
[mysqld]
port = 3306
user=mysql
basedir=/usr/local/mysql/mysql-8.0.30/
datadir=/usr/local/mysql/mysql-8.0.30/data
socket=/tmp/mysql.sock
symbolic-links=0

[mysqld_safe]
log-error=/usr/local/mysql/mysql-8.0.30/data/mysql.log
pid-file=/usr/local/mysql/mysql-8.0.30/data/mysql.pid

[client]
port=3306
default-character-set=utf8

五.初始化mysql服务

进入文件目录

cd /usr/local/mysql/mysql-8.0.30/bin

执行命令,然后会有一个默认密码,有的人这里会报错是因为没有安装libaio,这里就先安装一遍(上一篇我安装完了就不安装了)

yum install libaio -y

输入下面的命令,会出现临时密码复制一下,一会登录要使用,例如:p_p-yR;iF1ek

./mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize

在这里插入图片描述

六.启动mysql

复制文件或者建立软链接,这里就直接复制文件了(因为之前复制过,这里就需要在输入个y覆盖)
在这里插入图片描述

cp /usr/local/mysql/mysql-8.0.30/support-files/mysql.server /etc/init.d/mysql

启动

service mysql start

注意啦:启动这里会报错,如下两种情况
1)Starting MySQL.Logging to ‘/usr/local/mysql/mysql-8.0.30/data/mysql.log’.
… ERROR! The server quit without updating PID file (/usr/local/mysql/mysql-8.0.30/data/admin.pid).

2)Starting MySQL… ERROR! The server quit without updating PID file (/usr/local/mysql/mysql-8.0.30/data/admin.pid).
在这里插入图片描述在这里插入图片描述
这里先使用ps命令查出mysql进程并且关闭

ps -ef|grep mysql

查看文件全权限,可以看到mysql用户的data文件夹没有权限

cd /usr/local/mysql/mysql-8.0.30
ll

linux升级mysql_第3张图片

赋予权限

chmod 775 /usr/local/mysql/mysql-8.0.30/data

linux升级mysql_第4张图片

然后重新启动(启动之前记得ps查找进程然后关闭)

ps -ef|grep mysql

然后使用,kill -9 pid,这里的pid是进程号

cd /usr/local/mysql/mysql-8.0.30/bin/
service mysql start

直接启动成功
在这里插入图片描述

七.配置数据库

登录,输入刚才的临时密码就可以了(直接复制粘贴)

./mysql -u root -p 

修改密码,我设置的密码是root,在最后面,根据自己需要进行设置

alter user 'root'@'localhost' identified with mysql_native_password BY 'root';

刷新,使操作生效

flush privileges;

更改数据库连接权限

use mysql;
update user set host='%' where user = 'root';
flush privileges;

退出

exit

七.测试

linux升级mysql_第5张图片

然后防火墙什么其他设置的可以按照上一篇来弄,其实都差不多。

你可能感兴趣的:(linux,mysql)