网络编程
位置:首页>> 网络编程>> 数据库>> Centos 7.9安装MySQL8.0.32的详细教程

Centos 7.9安装MySQL8.0.32的详细教程

作者:sims  发布时间:2024-01-26 02:22:32 

标签:Centos,7,安装,MySQL,8.0

第一步、下载压缩包

下载社区版的 MySQL,根据需求下载对应版本,其中有最小安装版本。具体各个版本的区别,可以上网查询,链接MySQL :: Download MySQL Community Server

Centos 7.9安装MySQL8.0.32的详细教程

第二步,解压压缩包,并复制到安装目录

进入到压缩包所在的文件夹,解压分为两次,第一次解压 xz 文件,第二次解压 tar 文件。

xz -dv mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar

复制解压后的文件到到要安装的目录,我要把 MySQL 安装到/usr/local/mysql,所以,运行以下命令,把解压后的文件复制过去

sudo cp -r mysql-8.0.32-linux-glibc2.12-x86_64/* /usr/local/mysql

这里需要修改以下安装目录的权限,由于我们使用 mysql 用户运行数据库,所以,要把安装目录的拥有者改为 mysql,如果系统没有,需要添加 mysql 用户及分组,我们只使用 mysql 运行程序,所以指定了 mysql 禁止登录,增加安全性

sudo groupadd mysql
sudo useradd mysql -s /usr/sbin/nologin -g mysql

修改安装目录的拥有者为 mysql

chown -R mysql:mysql /usr/local/mysql/

第三步、编辑配置文件

编辑配置文件,我们把配置文件放到 /etc/my.cnf

配置如下:

[client]
port=3306
# 端口
# mysqlx_port=33060
socket=/var/lib/mysql/mysql.sock
# mysqlx_socket=/var/lib/mysqlx.sock

[mysqld]
# skip-grant-tables
# mysql安装目录
basedir=/usr/local/mysql/
# mysql数据库目录
datadir=/var/lib/mysql/data/
port=3306
innodb_file_per_table=1
character-set-server=UTF8MB4
mysqlx_port=33060
socket = /var/lib/mysql/mysql.sock
# mysqlx_socket=/var/lib/mysql/mysqlx.sock

[mysqld_safe]
# 错误日志
log-error=/var/log/mysql/error.log
# pid文件
pid-file=/usr/local/mysql/mysqld.pid
tmpdir=/var/lib/mysql/mysql

第四步、确定一些相关的目录

编辑文件support-files/mysql.server,修改里面的相关目录

安装目录 basedir=/usr/local/mysql

配置目录 /etc/my.cnf

数据库文件目录 datadir=/var/lib/mysql/data/

pid 文件pid-file=/usr/local/mysql/mysqld.pid

第五步、初始化数据库

初始化数据库,注意,初始化成功后,终端会显示 root 账号密码,一定要保存下来

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

第六步、启动数据库,连接并修改 root 密码

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

连接数据库,修改 root 密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

第六步、守护 MySQL 进程

创建守护程序,保证在服务器重启后能够自动启动,运行

sudo vim /etc/systemd/system/mysql.service

内容如下,其中 User 和 Group 为 mysql

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false
# 使能
sudo systemctl enable mysql.service
# 启动
sudo systemctl start mysql.service
# 查看状态
sudo systemctl status mysql.service

第七步、验证

重启服务器验证 mysql 进程是否启动

来源:https://www.cnblogs.com/huangzhengguo/p/17226881.html

0
投稿

猜你喜欢

  • 表结构的修改1、表结构修改后,原来表中已存在的数据,就会出现结构混乱,makemigrations更新表的时候就会出错比如第一次建模型,漏了
  • \\create by ahuinan 2009-6-22 \\up by ahuian 2009-6-23 \\up by ahuinan
  • 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。一、准备工作1.扫雷游
  • 这是我自己实测过的方法,直接在命令行里输入pip install +(所需要的库),即可成功下载,可能它会自动检测电脑Python的版本而下
  • 一、生成二维码二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编
  • 在Flask中配置日志在Flask应用程序中,可以使用Python的标准logging模块来配置日志记录。以下是一个简单的示例,在其中将日志
  • 摘要:下拉菜单经常带来更多的可用性问题,并且常常容易被混淆。这是因为网页设计师们往往会在不同的几种情况下使用它。同时,滚动的菜单降低了网页的
  • 字符串函数ASCII(str)   返回字符串str的第一个字符的ASCII值(str是空串时返回0)  my
  • 现在写一篇博客总是喜欢先谈需求或者本内容的应用场景,是的,如果写出来的东西没有任何应用价值,确实也没有实际意义。今天的最早的需求是来自于如何
  • 字符串去除数字间的逗号在西文数字的表示中,很多格式是类似这样:123,456,789。如果得到这样的一个字符串,直接用int转换成整型肯定报
  • 1. 为什么要使用正则表达式?首先,大家来看一个例子。一个文本文件里面存储了一些市场职位信息,格式如下所示:Python3 高级开发工程师
  • 本文实例讲述了Python操作Sql Server 2008数据库的方法。分享给大家供大家参考,具体如下:最近由于公司的一个项目需要,需要使
  • 很多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。相对来说,将数据装入数据库是直截了当的
  • 多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用
  • 大多数卷积神经网络都是直接通过写一个Model类来定义的,这样写的代码其实是比较好懂的,特别是在魔改网络的时候也很方便。然后也有一些会通过c
  • 经常会有小朋友问我,“我想做个黑客,我该学什么编程语言?”,或者有的小朋友会说:“我要学c,我要做病毒”。其实对于这些小朋友而言他们基本都没
  • 听说最近流行JQ风格的语法,不流行EXT风格了一.//ajax类fw=window.fw||{};fw.ajax = { &nbs
  • 1、python内置的sqlite3模块,创建数据库中的表,并向表中插入数据,从表中取出所有行,以及输出行的数量。#!/usr/bin/en
  • 本文实例讲述了Python企业编码生成系统之系统主要函数设计。分享给大家供大家参考,具体如下:一 主要函数功能描述函数功能mkdir判断保存
  • 1. 定义用一行构建代码例题# 构建一个1-100的列表l1 = [i for i in range(1,101)]print(l1)# 输
手机版 网络编程 asp之家 www.aspxhome.com