系统环境

  • 操作系统: CentOS 7.5 64位
  • 数据库 : MySQL 8.0.13 -->待安装

安装步骤

  1. 卸载系统自带的mariadb-lib。centos7 已经不支持MySQL,因为收费了,所以内部集成了mariadb,而安装MySQL的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。
  • 查看mariadb版本
rpm -qa | grep mariadb
  • 卸载mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
  1. 重启
  2. 到镜像网站去下载自己所需的tar包,这里给出一个网址。一开始我是去官网下的rpm包来安装,速度十分感人,只有几十KB/s。
    MySQL镜像
  3. 使用tar命令解压MySQL安装包,得到如下红色字体标注的rpm
    image.png
  4. 接下来要按照一定的顺序安装。
  • 必须安装
rpm -ivh mysql-community-common-8.0.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.17-1.el7.x86_64.rpm
  • 非必须,个人选择安装,同样有安装顺序
rpm -ivh mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.17-1.el7.x86_64.rpm
  • 安装过程中可能会出现的问题(都遇到了。。。。缺失各种依赖)
1.出现问题:
error:
Failed dependencies:
libnuma.so.1()(64bit) is needed by mysql-community-server-8.0.13-1.el7.x86_64 libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-8.0.13-1.el7.x86_64 libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-8.0.13-1.el7.x86_64
解决办法:
yum install numactl

2.出现问题:
error:
Failed dependencies:
pkgconfig(openssl) is needed by mysql-community-devel-8.0.13-1.el7.x86_64
解决办法:
yum install openssl-devel.x86_64 openssl.x86_64 -y

3.出现问题:
error:
Failed dependencies:
perl(Data::Dumper) is needed by mysql-community-test-8.0.13-1.el7.x86_64
解决办法:
yum -y install autoconf

4.出现问题:
error:
Failed dependencies:
perl(JSON) is needed by mysql-community-test-8.0.13-1.el7.x86_64
解决办法:
yum install perl.x86_64 perl-devel.x86_64 -y
yum install perl-JSON.noarch -y

  1. 对数据库进行初始化
mysqld --initialize --console
  1. 对MySQL目录进行授权
chown -R mysql:mysql /var/lib/mysql/
  1. 启动MySQL服务
systemctl start mysqld
停止命令为:service mysqld stop
  1. 查看MySQL服务的状态
service mysqld status

image.png

  1. 查看临时密码
cat /var/log/mysqld.log

image.png

  1. 用临时密码登陆数据库,同时修改密码
mysql -u root -p + 回车. 然后输入临时密码,再输入下一条命令修改密码
alter USER 'root'@'localhost' IDENTIFIED BY '新密码(必须包含:数字大小写字母特殊字符)';
  1. 授权MySQL的远程登陆
  • 查看所有用户是否可以远程连接,依次执行下列命令:
show databases;
use mysql;
select host, user, authentication_string, plugin from user;

image.png
可以看到我这里root用户的主机已经修改为任意IP了,默认是localhost的,即只能本地登陆。

  • 修改root用户host值,这样就能让root用户远程登陆
update user set host = "%" where user='root';
  • 刷新
flush privileges;
  • 使用MySQL客户端登陆数据库
    建议使用8.0+版本的Navicat,因为MySQL8之前的版本中加密规则是mysql_native_password。
    而在MySQL8之后,加密规则是caching_sha2_password。可能会出现Client does not support authentication protocol requested by server;
    面对这种错误,你可以升级Navicat驱动,也可以把MySQL用户登录密码加密规则还原成mysql_native_password.
alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root用户的密码';
flush privileges;