Linux(CentOS7)安装 MySQL8

目录

下载

上传

解压

创建配置文件

[初始化 MySQL 服务](#初始化 MySQL 服务)

[启动 MySQL 服务](#启动 MySQL 服务)

[连接 MySQL](#连接 MySQL)

创建软链接


下载

官方地址:

MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/选择版本前需先看一下服务器的 glibc 版本

bash 复制代码
ldd --version

上传

将下载好的 tar 包上传到服务器上,这里演示上传到了 /usr/local/ 文件夹下

解压

bash 复制代码
tar -Jxvf mysql-8.0.36-linux-glibc2.17-x86_64.tar.xz

解压后修改文件夹名(让文件夹名简短一点)

bash 复制代码
mv mysql-8.0.36-linux-glibc2.17-x86_64 mysql

进入 mysql 文件夹

创建配置文件

MySQL 服务启动项很多,一般不通过命令行输入,而是写在配置文件中,启动时指定配置文件即可。如果没有指定配置文件,则会去 /etc/my.cnf 等默认路径下找配置文件。

这里直接指定自己创建的配置文件,把一切都掌握在自己手里。

bash 复制代码
vim my.cnf

写入以下配置

mysqld

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/

socket=/tmp/mysql.sock

character-set-server=UTF8MB4

创建 data 文件夹

bash 复制代码
mkdir data

初始化 MySQL 服务

进入 bin 文件夹

bash 复制代码
cd bin

指定自己创建的配置文件初始话 MySQL 服务

bash 复制代码
./mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize

生成一个临时的 root 用户密码,以便首次登入 MySQL

启动 MySQL 服务

必须为 MySQL 创建 mysql 用户才能启动服务,否则会报错

创建用户和组

bash 复制代码
#创建用户组
groupadd mysql
#创建mysql用户并添加到mysql用户组
useradd -g mysql mysql
#授权
chown -R mysql.mysql /usr/local/mysql

启动服务,指定配置文件和使用 mysql 用户启动

bash 复制代码
./mysqld --defaults-file=/usr/local/mysql/my.cnf --user=mysql

连接 MySQL

输入刚刚初始化生成的随机密码

bash 复制代码
mysql -u root -p

修改 root 用户登录密码

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

flush privileges;

允许 root 用户远程连接

bash 复制代码
use mysql;

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

创建软链接

bash 复制代码
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

这样就能够在任意路径下直接通过 mysql 命令来连接 MySQL 服务了

相关推荐
L0208247 分钟前
Kubernetes Ingress|CNI 网络模型|Calico 网络策略|Pod 调度器完整实战教程
运维·网络·云原生·容器·kubernetes
考拉讲支付2 小时前
延迟分账 / 核销分账的技术实现方案:服务完成后再分钱,到底怎么设计?
大数据·运维·人工智能·微信小程序·小程序·系统架构
ADAI_Bowen2 小时前
写文章 - 知乎
大数据·运维·人工智能
GeW3 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux
云宏信息3 小时前
超融合和存算分离怎么选?从性能、可靠性、扩展、成本四个维度讲述如何精准匹配架构选型 | 附企业降本轻量云方案
运维·服务器·架构·云计算
mounter6253 小时前
深入理解 gccrs:GCC 如何实现 Rust 编译器,以及编译 Linux 内核面临的挑战
linux·驱动开发·rust
垚垚学技术_聚焦云原生3 小时前
Ansible Playbook 进阶:when 条件、loop 循环、handlers 触发器落地
linux·ansible·自动化运维·devops
无足鸟ICT4 小时前
【RHCA+】type命令(判断命令类型)
linux·ssh·bash
咸鱼梦想家π4 小时前
Linux开发工具(下)
linux·运维·服务器
1024奇点4 小时前
【仓颉语言入门 · 第二篇 第 12 课】
开发语言·数据库·ide·mysql·开源