centos7系统安装mysql8.0完整步骤
官网下载安装包
官网地址
选择版本及下载 https://dev.mysql.com/downloads/mysql/
选择下载 MySQL 的 Linux 系统版本
Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7
选择要下载的 MySQL 版本
这里选择 RPM Bundle(x86) 点击 Download 下载
正式安装
通过shell上传到centos7
rpm -qa | grep mariadb 命令查看 mariadb 的安装包
1 | [root@orc tmp]# rpm -qa | grep mariadb |
卸载 mariadb
mariadb 这个是 Linux 系统自带的数据库系统,跟 MySQL 冲突,所以一般先卸载这个没用的数据库。
1 | # 卸载 mariadb 命令 |
创建MySQL 安装目录
安装目录创建在 /use/local 下
通过
cd /usr/local/
命令进入根目录下的usr目录下的local目录,这个目录是放一些本地的共享资源的通过 ll 命令查看一下当前目录下的目录结构
创建 MySQL 目录
1 | #命令 在当前目录下创建一个名为 mysql 的目录 |
通过 ll 命令查看一下当前目录下的目录结构,刚创建的 mysql 目录有了
通过 cd mysql 命令进入 mysql 目录
ftp 协议来把刚下载好的 mysql 安装包传输到 CentOS7 系统中
解压 MySQL 安装包
1 | #命令解压 tar 包 |
安装及初始化
注意,MySQL 的安装需要有准确的顺序,上图解压出来的红框的大部分都需要安装,所以安装顺序很重要。
开始安装 MySQL
安装顺序:COMMON –> LIB –> LIB-COMPAT –> CLIENT –> SERVER
按以上顺序以此安装
1.安装 mysql-community-common
1 | # 命令安装 common |
2.安装 mysql-community-libs
1 | # 命令安装 libs |
3.安装mysql-community-client
1 | # 命令安装 client |
4.安装mysql-community-server
1 | # 命令安装 server |
安装完成后, 通过 rpm -qa | grep mysql 命令查看 mysql 的安装包
1 | [root@orc mysql]# rpm -qa | grep mysql |
初始化 MySQL
完成对 mysql 数据库的初始化和相关配置
1 | mysqld --initialize; |
查看数据库默认随记密码
通过命令查看数据库的密码
1 | cat /var/log/mysqld.log | grep password |
登录 MySQL
- 通过敲回车键进入数据库登陆界面
1 | mysql -uroot -p |
- 输入刚刚查到的密码,进行数据库的登陆,复制粘贴就行,MySQL 的登陆密码也是不显示的
修改 MySQL 密码
- 通过 sql 命令来修改密码 ,注意是在MySQL登录状态下
1 | ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; |
- 通过 exit; 命令退出 MySQL,然后通过新密码再次登陆
授权远程访问
- 通过以下 sql 命令,进行远程访问的授权
1 | create user 'root'@'%' identified with mysql_native_password by 'root'; |
修改加密规则
部分可视化工具,不支持最新版本 mysql 8.0 加密规则,导致无法链接,可以修改下。
- 1.通过一下 sql 命令修改加密规则
- 2.flush privileges; 命令刷新修该后的权限
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; |
设置密码永不过期
mysql8 数据库,密码默认有期限,可以设置成永不过期
1 | # 修改root密码永不过期,输入命令: |
防火墙配置
关闭防火墙
- 通过以下命令,关闭 firewall
1 | systemctl stop firewalld.service; |
安装防火墙
通过 yum -y install iptables-services 命令安装 iptables 防火墙
通过以下命令启动设置防火墙
1 | systemctl enable iptables;systemctl start iptables; |
通过 vim /etc/sysconfig/iptables 命令编辑防火墙,添加端口
点击 i 键进入插入模式
在相关位置,写入以下内容
1 | -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT |
输入 wq 敲回车键保存退出,: 为英文状态下的
通过 systemctl enable iptables.service 命令设置防火墙开机启动
验证数据库链接
通过 ifconfig 命令查看 ip
使用navicat来连接数据库
在CentOS7下查看并修改MySQL数据存放目录
查看数据存放目录
1 | # 使用命令 |
得到默认存放目录:/var/lib/mysql
移动数据
停止mysql服务
1 | systemctl stop mysqld |
新建数据存放目录
1 | mkdir -p /u01/mysql/data |
复制数据
将mysql目录复制到/data01/mysql/data目录下
1 | cp -a /var/lib/mysql /u01/mysql/data |
给目录添加权限
1 | chown -R mysql:mysql /u01/mysql/data/mysql |
修改配置my.cnf
打开/etc/my.cnf文件, 找到[mysqld]关键字,修改datadir和socket的值
1 | [mysqld] |
重启mysql服务
1 | systemctl start mysqld |
问题
错误现象
重启后,项目可正常访问数据库,但是使用命令行访问数据库会报错:
1 | mysql -uroot -p |
解决
修改/etc/my.cnf, 找到[client]段,添加配置
socket字段有可能不存在,添加即可。
1 | [client] |
- 本文标题:centos7系统安装mysql8.0完整步骤
- 本文作者:ドラゴンボールのLong
- 创建时间:2019-07-06 02:22:02
- 本文链接:https://zhongshenglong.xyz/2019/07/06/Centos7安装mysql-8.0/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!