数据库升级 MySQL8 踩坑之路

前言

用习惯了 MySql5.7后,对于mysql 的安装、启动、创建用户、开启远程链接,应该说是比较熟悉的。
最近因为做一个python flask 的点餐项目,是一个外包项目,这次,需要用我自己的服务器,我去服务器一看,居然连mysql,还没安装,太惭愧了。于是开始了mysql 漫漫安装,调试之路。

一般在 centos 上安装软禁有两种方式,一种是 下载安装包,然后编译安装,一种是使用 centos 上的安装工具 yum,一般只要 yum install 软件包名 就行了。

我这次,是用源码编译的方式安装的,首先要下载源码包,按照下面的步骤

  1. 如果没有安装wget,先安装
yum -y install wget
  1. 下载MySQL官方的 Yum Repository
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
  1. 使用上边的命令我们就下载到了 Yum Repository,之后我们就可以使用 yum 来进行安装了。
yum -y install mysql57-community-release-el7-10.noarch.rpm
  1. 安装mysql服务端
yum -y install mysql-community-server
  1. 启动mysql
systemctl start mysqld.service
  1. 查看mysql运行状态
systemctl status mysqld.service

到这里,一切都是那么美好的。
后面进入数据库,修改密码,创建用户,都是ok的,但因为要让mysql 数据库可以远程连接,所以要赋予用户远程连接的权限,于是,输入下面的命令,

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

结果一直报错,错误一直指向 IDENTIFIED BY 'new password',我就纳闷了,试了很多方法,都不起作用,后来才找出问题,原来是 mysql8 在创建用户和赋予权限上,和5.7 不一样了,5.7 版本,一行命令就可以了,但 8 需要分两步,而且,还要去 修改 用户访问的 ip ,一般用 % 替代就可以了。

除了这个之外,mysql8,还有一个5.7不具备的特性,8支持 json格式,但 5.7 不支持,这里要提一下,也并不是完全不支持,myariaDB 是支持 json数据格式的。对于开发者而言,这是一种福音,尤其是现在前后端开发过程中,json 格式作为前后端数据交互的最流行的方式。MySql 8 肯定会受到广大的开发者的青睐的,就是需要去学习它的一些新的特性。

总结

使用任何工具升级前,都需要搞清楚升级后,和之前有什么不一样,否则按照之前的方式去走,很容易问题,耽误时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值