CentOS 7 安装 MySQL 8 并设置开机自启动


前言

MySQL 版本说明

MySQL Enterprise Edition: Mysql 企业版本,包含了最新的特性和管理工具,以及可以提供技术支持(收费)。

MySQL Cluster CGE: 一个用于高吞吐量快速、稳定的访问数据的开源事务数据库,它包含了 MySQL Cluster、MySQL Enterprise Edition、MySQL Cluster Manager 的功能。

MySQL Community (GPL):遵循GPL开源协议的MySQL版本,平常我们使用的大多数遵循这个协议下的社区版(免费)

MySQL Installer: 是一个安装管理程序,因为 MySQL 家族包括了许多产品,所以提供了一个统一管理下载的工具。

MySQL Community Server: MySQL Community (GPL)下的开源社区版本,是使用的数据库开源版本(免费)。

Mysql Workbench: 类似 Navicat 是个图形界面 UI 工具,可以实现远程Mysql数据库访问。

参考文档:


1、官方网站

下载地址

示例使用的安装包

2、安装部署

2.1、环境说明

CentOS 版本:CentOS Linux release 7.9.2009 (Core)
CentOS 安装包:CentOS-7-x86_64-Minimal-2009.iso
MySQL 版本:8.0.32
MySQL 安装包:mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar

2.2、卸载&安装依赖

安装新版 MySQL 之前,我们需要将系统自带的 mariadb-lib 卸载

[root@localhost ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@localhost ~]# yum -y remove mariadb-libs-5.5.68-1.el7.x86_64

需要依赖 perl-Module-Install.noarch、libaio、net-tools 这些服务,示例使用的 CentOS 7 镜像是最小安装,因此需要提前安装好

yum install -y perl-Module-Install.noarch libaio net-tools

不提前安装依赖,安装 MySQL 服务的时候也会提示的缺少依赖的

[root@localhost ~]# rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm 
warning: mysql-community-server-8.0.32-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
error: Failed dependencies:
	/usr/bin/perl is needed by mysql-community-server-8.0.32-1.el7.x86_64
	mysql-community-client(x86-64) >= 8.0.11 is needed by mysql-community-server-8.0.32-1.el7.x86_64
	mysql-community-common(x86-64) = 8.0.32-1.el7 is needed by mysql-community-server-8.0.32-1.el7.x86_64
	mysql-community-icu-data-files = 8.0.32-1.el7 is needed by mysql-community-server-8.0.32-1.el7.x86_64
	net-tools is needed by mysql-community-server-8.0.32-1.el7.x86_64
	perl(Getopt::Long) is needed by mysql-community-server-8.0.32-1.el7.x86_64
	perl(strict) is needed by mysql-community-server-8.0.32-1.el7.x86_64

2.3、安装 MySQL 8

解压安装包

tar -xf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
# 解压出来的文件目录如下
mysql-community-client-8.0.32-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.32-1.el7.x86_64.rpm
mysql-community-common-8.0.32-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.32-1.el7.x86_64.rpm
mysql-community-devel-8.0.32-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.32-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.32-1.el7.x86_64.rpm
mysql-community-libs-8.0.32-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.32-1.el7.x86_64.rpm
mysql-community-server-8.0.32-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.32-1.el7.x86_64.rpm
mysql-community-test-8.0.32-1.el7.x86_64.rpm

安装 MySQL 8,注意安装顺序,顺序不对会提示缺少依赖(可以有暴力方式,直接全部安装,但是不推荐!)

rpm -ivh mysql-community-icu-data-files-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm

测试 MySQL 服务是否安装完毕

# 查看 MySQL 服务状态
[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html

数据初始化

mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize

查看初始化密码

[root@localhost ~]# more /var/log/mysqld.log 
2023-07-05T15:03:16.202185Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.32) initializing of server in progress as process 185
5
2023-07-05T15:03:16.219110Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-07-05T15:03:17.113296Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-07-05T15:03:18.243760Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q;qe&F+if9;x

启动 MySQL 服务

systemctl start mysqld

登录客户端

mysql -uroot -p
# 安装提示输入上面获取到的密码

修改初始化密码,并配置远程访问的账号&密码

-- 修改本地用户 root 初始密码(生产环境,密码不要搞这么简单哈~ 安全第一!)
ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY '123456';
flush privileges; 

-- 开启远程连接
use mysql;
-- 创建用户任意远程访问。注意:远程连接 root 用户与本地 root 用户有区别
CREATE user 'root'@'%';
-- 修改密码(生产环境,密码不要搞这么简单哈~ 安全第一!)
alter user 'root'@'%' identified with mysql_native_password by '123456';
-- 给用户授权
grant all privileges on *.* to "root"@"%";
flush privileges; 

安装完毕!可以通过上面创建的远程账户及密码,通过客户端进行远程访问了。

3、客户端

推荐:Navicat(最好用的肯定是这个,不过这玩意儿收费的)
免费的可以考虑:mysql-workbench-community-8.0.20-winx64.msi 官网地址 或者 DBeaver 官网地址 不过讲真的,这些是真的没有上面的好用,不过免费!
根据实际情况选择吧!

4、开机自启动

什么?还没写怎么设置开机自启动?这种安装方法最大的好处,就是开机自启动自动搞定了。不信你重启试试!

# 查看是否开机自启动
systemctl is-enabled mysqld
# 禁止开机自启动
systemctl disable mysqld
# 允许开机自启动
systemctl enable mysqld

5、常用配置

# 默认配置文件
vi /etc/my.cnf
# 默认配置,需要关注
# 数据存储目录
# datadir=/var/lib/mysql
# 错误日志
# log-error=/var/log/mysqld.log

# 需要根据需求进行优化的参数
# 最大连接数(不配置,默认151)
# max_connections=1000
# 设置binlog过期时间为3天(不配置,默认30天)
# expire_logs_days=3
# 设置binlog文件大小为100M(无需更改,不配置,默认1G)
# max_binlog_size=104857600

6、慢查询

开启慢查询,服务重启会失效

-- 查看“慢查询”的时间定义(默认 10 秒)
show variables like "long%";
-- 设置为 1 秒
set long_query_time = 1;
-- 查看“慢查询”是否开启及日志存储目录
show variables like "slow%";
-- 开启
set global slow_query_log = ON;

总结

MySQL 的部署方式很多。本人比较推荐使用 rpm 的方式部署,好处是很多东西都自动搞定了!不需要自己一步一步去搞。例如:创建用户和用户组、相关目录权限、服务注册、开机自启动配置等。坏处也是有的,例如:安装目录那些都是自动默认的、需要先安装依赖等。但是个人感觉缺点可以忍受,好处比较明显。当然也要根据实际情况考虑具体方案的!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值