linux系统(ubuntu)安装mysql8详细教程

作者:ChenZhen

博客地址:https://www.chenzhen.space/

版权:本文为博主 ChenZhen 的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。

如果对你有帮助,请给一个小小的star⭐


总所周知,linux在服务器领域的应用是最强的,百度、谷歌、淘宝等应用和网站后台都是成千上万的Linux服务器组成的,世界上大部分软件和服务都是运行在Linux上的。

Linux系统是一个真正的多用户多任务的操作系统

Linux系统与Windows相比是更加安全的操作系统。

因此你的服务器会部署在linux系统上,这就是为什么我们要把mysql数据库安装在linux上的原因

进入正题,这里我用的发行版是ubuntu 不同版本用的指令可能会有些不同

请根据自己的版本选择合适的教程

1.下载mysql8

直接到官网下载最新版即可

MySQL :: Download MySQL Community Server

选择linux通用版本

选择glibc 64位压缩包

下个页面直接选择开始下载即可

然后将下载好的压缩包放到Linux的 /usr/local 目录下

2.输入指令解压到当前目录
bash 复制代码
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
  • tar -xvf 可以解压tar.xz后缀的压缩文件
  • tar -zxvf 可以解压tar.gz后缀的压缩文件
3.重命名文件为mysql-8.0

(这里也可以选择创建一个名为mysql-8.0软连接指向文件)

bash 复制代码
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql-8.0
4.创建data文件夹 储存文件

在mysql目录下创建data文件夹

bash 复制代码
cd mysql-8.0

mkdir data
5.创建用户组以及用户

创建mysql组,再创建mysql用户并将mysql用户添加到组中

bash 复制代码
groupadd mysql

useradd -g mysql mysql
6.授权用户

将mysql文件夹的所有者和所有组都改为mysql

bash 复制代码
chown -R mysql.mysql /usr/local/mysql-8.0
7.mysql初始化

进入bin目录执行mysqld文件进行初始化

bash 复制代码
cd bin

./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize
8.编辑my.cnf
bash 复制代码
vim /etc/my.cnf

注释掉mysqld_safe和下面2条内容 修改basedir datadir socket信息

xml 复制代码
[mysqld]
basedir=/usr/local/mysql-8.0
datadir=/usr/local/mysql-8.0/data
port=3306
socket=/tmp/mysql.sock
user=mysql

####9.添加mysqld服务

创建 systemd 服务文件 /etc/systemd/system/mysql.service

bash 复制代码
[Unit]
Description=MySQL Server
After=network.target

[Service]
Type=forking
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data
ExecStop=/usr/local/mysql/bin/mysqladmin shutdown
Restart=always

[Install]
WantedBy=multi-user.target

启动并开机自启:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysql
11.启动mysql
bash 复制代码
systemctl start mysql
12.查看启动状态

可以用service mysql status 再次查看mysql启动状态

bash 复制代码
systemctl status mysql
13.(可选)加入环境变量
bash 复制代码
echo 'export PATH=/usr/local/mysql-8.0/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
14.登录
bash 复制代码
mysql -uroot -p

在下方填入之前生成的随机密码

登录成功提示

15.修改root密码

接下来修改root密码,将123456换成你的新密码

别忘了结尾有个分号";"

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

然后刷新权限 使密码生效

bash 复制代码
flush privileges;
16.修改远程连接并生效

选中mysql数据库

bash 复制代码
use mysql;

设置允许远程连接并生效

bash 复制代码
update user set host='%' where user='root';
 
flush privileges;

root表示想要被连接的数据库的用户名

其中"%"表示允许所有机器能访问root用户

相关推荐
happymagic4 分钟前
vmware workstation Pro 虚拟机设定启停的时间段
运维·服务器·windows
寒水馨13 分钟前
Linux下载、安装PowerShell-v7.6.4(附安装包powershell-7.6.4-linux-x64.tar.gz)
linux·跨平台·自动化运维·devops·命令行·powershell·脚本语言
一只鹿鹿鹿16 分钟前
三甲综合智慧医院信息化总体解决方案(PPT文件)
大数据·运维·物联网·安全·政务
AI的探索之旅24 分钟前
BOM管理的AI自动化:从原理图到采购清单,我搭了一套全自动工具链
运维·人工智能·自动化
lsh曙光28 分钟前
scp和rsync远程同步
linux
Kina_C1 小时前
HAProxy 负载均衡算法全解析:从静态轮询到一致性哈希的实战指南
linux·算法·负载均衡·哈希算法·haproxy
~光~~1 小时前
【嵌入式linux学习_OV8858 bring up】L2_V4L2与Ov8858
linux·数据库·学习
PC2005-cloud1 小时前
Windows 下 WSL2 + Docker Desktop + Ubuntu 开发环境搭建指南
windows·ubuntu·docker
Kina_C1 小时前
HAProxy 负载均衡实战:从安装配置到高级参数详解
linux·运维·负载均衡·haproxy
wunaiqiezixin1 小时前
MIT 6.S081 syscall 实验篇(lab2):System call tracing (moderate)
linux·unix·os·xv6·mit6.s081