安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载
[bigdata@eric011 software-package]$ rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[bigdata@eric011 software-package]$ sudo rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
1、在官网上https://dev.mysql.com/downloads/mysql寻找到与操作系统相对应版本的mysql安装包。
这里下载的是:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
2、 a)可直接在浏览器里下载到本地然后使用Xshell或MobaXterm等工具上传到Linux系统相应的工作目录
#cd /opt/mysql
选择安装包,点击打开,即可上传到 目录下/opt/mysql
b)复制下载链接,在Linux系统里通过命令wget 下载链接,直接下载到当前工作目录下
#wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
4、先解压下载的.rpm.*.tar的文件;后缀为.rpm的安装包可直接安装。
然后通过命令rpm -ivh (下载的安装包名),安装mysql
# 按照以下顺序进行安装,因为它们之间存在依赖关系
common --> libs --> client --> server
安装依赖包:yum -y install libaio-devel.x86_64;
$ rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
注意:这一步$ rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm可能遇到报错
安装依赖的包
解决方法:yum install libaio
5.初始化mysql数据库
[bigdata@eric011 mysql]$ sudo mysqld --initialize //该命令会在/var/log/mysqld.log生成随机密码
root@localhost: Doycr.zot4Pj
6.修改mysql数据库目录的所属用户及其所属组,然后启动mysql数据库
[bigdata@eric011 lib]$ sudo chown mysql:mysql /var/lib/mysql -R
[bigdata@eric011 lib]$ systemctl start mysqld.service
7.根据第6步中的密码,更改root用户的密码,新版的mysql必须先修改root用户的密码,否则登录后是不能执行任何命令的
[bigdata@eric011 lib]$ mysql_secure_installation //根据提示修改root用户密码
8.安装完成,接下来既可以正常操作mysql
9.Navicat连接数据库
1.获取授权
2.在Navicat创建mysql连接
10.在导入sql时遇到的sql_mode问题解决
由于5.7采用的严格模式sql_mode,会造成 ‘0000-00-00 00:00:00’的时间类型无法插入,原来的group by语句报错的问题,在此做下解决记录,可酌情修改sql_mode:
参考:https://blog.csdn.net/l631768226/article/details/77105047
上述方法重启mysql会还原,针对linux系统,若要使mysql在重启后不还原sql_mode 则需要修改配置文件
1.找到配置文件路径
find / -name my.cnf
2.若配置文件中有sql_mode配置 则修改成所需即可,若没有则添加
sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
3.重启mysql即可
$ service mysqld restart