Linux下安装mysql8.0版本

先确定我的下载安装的目录,安装文件是下载在 /opt/install 目录下面

(安装地址不同的话注意修改地址)

1.在线下载

java 复制代码
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

2.解压

java 复制代码
tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 

3.将解压后文件夹修改名称为mysql

java 复制代码
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql

4.进去mysql文件夹下

5.创建配置文件

MySQL 服务启动项很多,一般不通过命令行输入,而是写在配置文件中,启动时指定配置文件即可。如果没有指定配置文件,则会去 /etc/my.cnf 等默认路径下找配置文件。这里直接指定自己创建的配置文件,把一切都掌握在自己手里。

直接在当前目录下创建my.cnf

java 复制代码
vim my.cnf

粘贴内容进去,注意修改自己的路径, exit 退出 :qw 命令保存退出 (安装地址不同的话注意修改地址)

java 复制代码
[mysqld]

basedir=/opt/install/mysql/
datadir=/opt/install/mysql/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4

6.创建 data 文件夹

java 复制代码
mkdir data
  1. 进入bin文件夹 , 指定自己创建的配置文件初始话 MySQL 服务
java 复制代码
cd bin

(安装地址不同的话注意修改地址)

java 复制代码
./mysqld --defaults-file=/opt/install/mysql/my.cnf --initialize

8.启动成功,记录临时密码,生成一个临时的 root 用户密码,以便首次登入 MySQL

9.创建用户和组,授权新建的用户 (安装地址不同的话注意修改地址)

java 复制代码
#创建用户组
groupadd mysql
#创建root用户并添加到mysql用户组
useradd -g root mysql
#授权
chown -R mysql.mysql /opt/install/mysql
chmod 750 /opt/install/mysql/data -R

10.启动服务,指定配置文件和使用 mysql 用户启动 (安装地址不同的话注意修改地址)

java 复制代码
./mysqld --defaults-file=/opt/install/mysql/my.cnf --user=root

11.连接mysql 输入刚刚初始化生成的随机密码

java 复制代码
mysql -u root -p

这里可能没有反应,可以 先输入"alias mysql=/opt/install/mysql/bin/mysql",再输入"mysql -u root -p ",输入密码即可 (安装地址不同的话注意修改地址)

12.修改 root 用户登录密码,允许 root 用户远程连接

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

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

13.创建软连接, 这样就能够在任意路径下直接通过 mysql 命令来连接 MySQL 服务了(安装地址不同的话注意修改地址)

java 复制代码
sudo ln -s /opt/install/mysql/bin/mysql /usr/bin/mysql

参考文档地址: Linux(CentOS7)安装MySQL8全过程_Mysql_脚本之家
MySQL连接出现错误zsh: command not found: mysql_mysql -uroot -p 出错 -bash: mysql: command not found-CSDN博客

相关推荐
亚空间仓鼠18 分钟前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
Java开发追求者41 分钟前
windows卸载mysql教程
mysql·mysql卸载
minji...1 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
虚伪的空想家1 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
the sun342 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
草莓熊Lotso2 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
ShineWinsu2 小时前
对于Linux:文件操作以及文件IO的解析
linux·c++·面试·笔试·io·shell·文件操作
-SGlow-2 小时前
Linux相关概念和易错知识点(52)(基于System V的信号量和消息队列)
linux·运维·服务器
江畔何人初2 小时前
TCP的三次握手与四次挥手
linux·服务器·网络·网络协议·tcp/ip
Trouvaille ~2 小时前
【MySQL篇】数据库操作:从创建到管理
linux·数据库·mysql·oracle·xshell·ddl