CentOS7 安装配置 MySQL8

1. 前言

本篇博客将演示 CentOS7 的环境下安装 MySQL8

演示环境
VMware Workstation 16.2.1 // 虚拟机软件
CentOS-7-x86_64-Minimal // 系统版本
mysql-8.0.13 // mysql版本

2. 环境准备

(1) 冲突问题

有些版本的Centos会自带一个数据库 mariadb 会跟mysql冲突,有点话要先删除,可以执行以下命令检查系统中是否存在mariadb 的相关安装包(有多少删多少)。

rpm -qa|grep mari

在这里插入图片描述
如果有的话(如上)则执行以下命令进行卸载。

rpm -e --nodeps mariadb-libs

(2) 依赖准备

在后面 mysql 启动的过程中可能会出现以下报错

// 报错信息
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

原因是因为缺少了 libaio 这个依赖库,所以我建议小伙伴们在安装前就安装好这个依赖库,没有安装的小伙伴可以执行以下命令进行安装。

yum install -y libaio

(3) 安装包准备

除了小编接下来要使用的wget的安装方式,还可以前往官网下载再上传到虚拟机 点击跳转官网
首先执行以下命令 在 /usr/local 目录下新建一个 mysql 文件夹

mkdir /usr/local/mysql

进入 /usr/local/mysql 目录

cd /usr/local/mysql

使用以下命令 进行安装包的下载 使用前要确保系统已经安装了wget 如果没有则执行 yum -y install wget 进行安装

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

3. 开始安装

上一步我们已经将安装包下载到 /usr/local/mysql 目录下 接下来我们执行以下命令解压安装包

(1) 解压安装包

tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

(2) 配置环境变量

执行以下命令,修改系统环境配置文件

vi /etc/profile

将以下内容添加到文件末尾

export PATH=$PATH:/usr/local/mysql/mysql-8.0.13-linux-glibc2.12-x86_64/bin
export PATH=$PATH:/usr/local/mysql/mysql-8.0.13-linux-glibc2.12-x86_64/support-files

增加完退出后 执行以下命令使修改的内容快速生效

source /etc/profile 

(3) 配置mysql用户组

执行以下命令创建一个用户组

groupadd mysql

设置用户和密码

useradd -g mysql mysql

(4) 授权

执行以下命令对mysql的安装目录进行授权

chown -R mysql.mysql /usr/local/mysql/mysql-8.0.13-linux-glibc2.12-x86_64

(5) 初始化

执行以下命令进行初始化

mysqld --initialize --user=mysql

初始化时可以看到 mysql 默认帮我们生成的root用户密码,记得记录好,下面要用到
在这里插入图片描述

(7) 修改配置文件

先执行以下命令在 mysql 安装目录下创建一个数据的存放目录

mkdir /usr/local/mysql/mysql-8.0.13-linux-glibc2.12-x86_64/data

再执行以下命令修改mysql服务的配置文件 将 mysql安装目录 和数据库存放目录都配置好

vi /usr/local/mysql/mysql-8.0.13-linux-glibc2.12-x86_64/support-files/mysql.server

在这里插入图片描述
可以看到刚开始是没有帮我们配置好的,将这两行替换成下面两行代码,修稿后保存退出

basedir=/usr/local/mysql/mysql-8.0.13-linux-glibc2.12-x86_64
datadir=/usr/local/mysql/mysql-8.0.13-linux-glibc2.12-x86_64/data

在这里插入图片描述
下面是各位用户朋友以后可能会用到的一些配置,小编给大家列出来了,大家可以根据自己的系统环境进行修改。

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 数据库允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

(8) 添加为系统服务

将mysql服务添加到系统服务这样更有利于对mysql的运维,执行以下命令将mysql服务文件拷贝到系统服务目录并修改服务名

cp /usr/local/mysql/mysql-8.0.13-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysqld

自此Mysql的服务名就叫mysqld了
为了保险起见执行以下命令将权限也修改一下,加个执行权限

chmod +x /etc/init.d/mysqld

(9) 启动服务

经过上面的配置,如果没有别的问题的话就可以执行启动mysqld服务了

systemctl start mysqld

执行以下命令设置mysqld服务开机自启动

systemctl enable mysqld

在这里插入图片描述
这样就设置完成开机自启动了

(10) 一些常用命令

这里小编还给各位读者朋友准备了一些操作mysqld服务的一些常用命令

$ systemctl daemon-reload //重载系统服务
$ systemctl list-unit-files --type service //查看全部服务命令
$ systemctl status mysqld // 查看mysqld服务状态
$ systemctl enable mysqld //设置mysqld开机自启动
$ systemctl disable mysqld // 关闭mysqld开机启动
$ systemctl start mysqld // 启动mysqld服务
$ systemctl stop mysqld // 停止mysqld服务
$ systemctl restart mysqld// 重启mysqld服务

4. 登陆Mysql

(1) 查看初始化密码

除了初始化时显示出来的密码,还可以执行以下命令查看mysql安装时随机帮我们生成的root用户密码。

// 如果这个方法无法查看那只能回去找初始化时显示的密码了
grep "password" /var/log/mysqld.log

(2) 登陆 MySQL

这里 -u 是指定用户的意思而 -p 就是指定登陆密码的意思,这里密码是依照个人环境而定 这里系统随机生成的密码是: CkphQ0;J>A6o

$ mysql -u root  -p 

在这里插入图片描述
会提示输入密码 这时输入上面查看到的随机密码即可

(3) 修改密码

登陆成功后可以执行以下命令,修改登陆时的密码,我这里设置的密码是123456

alter user 'root'@'localhost' identified by '123456';

在这里插入图片描述
提示设置成功 运行以下命令时密码生效

flush privileges;

在命令行执行以下命令则可以退出客户端 下次登录时就需要我们设置的密码了

exit;

5. 设置远程登陆MySQL

(1) 权限设置

登陆进入MySQL后,依次执行以下命令则可以设置mysql远程登陆
切换到 MySQL数据库

use mysql;

修改user表host的权限为所有ip地址都可以进行登陆

update user set host ='%' where user ='root';

修改完后执行以下命令刷新一下是修改的内容立即生效

flush privileges;

(2) 开放端口

Mysql默认远程登录监听的端口是3306所以我们要放行服务器3306的端口,可以执行以下命令放行当前服务器的3306端口

// 放行防火墙8080端口(–permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=3306/tcp --permanent 

执行以上命令放行后,需要重启一下防火墙,使配置立即生效。

// 重启防火墙
firewall-cmd --reload 

(3) 防火墙常用命令

这里小编还给大家提供了一些防火墙服务的常用命令

firewall-cmd --state  // 查看防火墙状态
systemctl stop firewalld.service  // 关闭防火墙(不推荐使用)
systemctl disable firewalld.service  // 阻止防火墙开机启动
firewall-cmd --reload // 重启防火墙
firewall-cmd --zone=public --list-ports // 查看防火墙所有开放的端口
firewall-cmd --permanent --zone=public --remove-port=3306/tcp // 关闭3306端口

完成上面的步骤,如果没有别的问题的话,我们就可以使用工具远程连接我们的服务器了

(4) 远程连接

密码就是我们上面设置的root用户密码
在这里插入图片描述

6.结尾

本篇博客就演示到这里了,感觉还是遗漏了很多细节,后续小编会慢慢修改,如果觉得有用各位读者朋友可以给小编点一个免费的赞,后续专栏将会更新更多的优质内容,期待的读者朋友不妨点个订阅,谢谢大家。


原文链接:Centos7安装配置Mysql8

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫林残忆168

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值