Linux centos上安装升级MySQL

本文详细介绍了如何在Linux服务器上卸载旧版本的MySQL,备份数据,安装新版本8.0.31,包括初始化数据库,设置临时密码,修改配置文件,创建服务,配置环境变量,重置root密码,允许远程连接以及开启防火墙端口等步骤。
摘要由CSDN通过智能技术生成

1.安装之前先看服务器上有没有安装过MySQL

有的话需要先备份数据再删除MySQL更换新版本

mysqldmup -u username -p database >/usr/local/mysql-backup/database.sql

-u 后面是用户名

-p 数据库名

/usr/local/mysql-backup/database.sql   sql文件导出地址

enter后输入密码即可

当数据备份完后就可以卸载现有版本了(记住现在的用户列表,更新版本后再添加上去)

停止MySQL服务

service mysql status

service mysql stop

使用命令 find / -name mysql

删除所有MySQL相关的文件

删除MySQL日志文件

删除my.cnf文件(一般都在/etc/my.cnf下面)

 删除MySQL用户组:

groupdel mysql

userdel mysql

卸载MySQL后就可以开始安装了

这里我们是在MySQL官网下载的最新版8.0.31

链接:

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

下载好tar包后放在/usr/local/目录下

解压: tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

解压完后修改文件名:

mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql

cd 到mysql目录下

mkdir data 创建data目录

创建用户组:

groupadd mysql

useradd -g mysql mysql

改变mysql目录权限:chown -R mysql.mysql /usr/local/mysql/

初始化;

现在是在mysql目录下

使用命令:./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

拿到临时密码:

 

 

这里要记录下临时密码 待会登录要用到

修改my.cnf文件

vim /etc/my.cnf 

[mysqld]

    basedir = /usr/local/mysql

    datadir = /usr/local/mysql/data

    socket = /usr/local/mysql/mysql.sock

    character-set-server=utf8

    port = 3306

   sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 [client]

    socket = /usr/local/mysql/mysql.sock

   default-character-set=utf8

创建mysql服务:

        将mysql启动文件复制到etc下面:cp -a /usr/local/mysql/support-files/mysql.server         /etc/init.d/mysqld

        赋予权限:chmod +x /etc/rc.d/init.d/mysqld

        创建mysql服务:chkconfig --add mysqld

配置环境变量

vim /etc/profile

下面添加两行:

#mysql

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

export PATH

:wq  保存退出

立即生效:source /etc/profile

启动mysql   service mysql start

启动成功后登录:mysql -uroot -p

enter回车输入临时密码

进去后重置密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'

之后我们可以配置远程连接

CREATE USER 'root'@'%' IDENTIFIED BY 'root'; // mysql8.0创建用户

grant all privileges on *.* to 'root'@'%' with grant option;

// 设置全部权限 all是所有操作权限 *.*是所有数据库所有表权限

flush privileges; // 更新权限

exit退出后重启mysql服务 service mysql restart 

注意防火墙需要开放3306端口 云服务器后台需要开放3306端口

之后就可以用navicat连接了

 

 

 

 

 

 

 

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值