当前位置: 首页 > article >正文

Linux系统安装MySQL8.40(保姆级教程)

前言:

说明:本文章是在阿里云ecs上安装MySQL,即:Linux是在联网状态下。

一、安装前环境准备

1.查看MySQL应用是否已存在

rpm -qa |grep mysql

说明:若返回空信息,就说明当前环境没有安装MySQL。

2.查看mariadb是否已存在

rpm -qa | grep mariadb

说明:若返回空信息,就说明当前环境没有安装Mariadb。

3.查看系统磁盘是否够用

df -lh

[root@iZbp15nia15xpkq7pshpu0Z /]# df -lh
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 1.8G 452K 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/vda3 80G 4.3G 76G 6% /
/dev/vda2 100M 7.3M 93M 8% /boot/efi
tmpfs 363M 0 363M 0% /run/user/0

通过上述命令可以看出根目录空间比较充足(76G)。

二、去官网查看需要安装的版本

MySQL官网:https://dev.mysql.com/downloads/mysql/

2.1 根据系统选择相应的安装包:

  • 不知道linux系统机构的,可以执行如下命令查看系统处理器架构
uname -m

在这里插入图片描述

在这里插入图片描述

  • 若不知道自己的系统信息,可以执行如下命令:
cat /etc/os-release

在这里插入图片描述

  • 选中需要安装的资源地址https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz

2.2 用wget命令下载MySQL安装包

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz

在这里插入图片描述

三、安装和配置MySQL应用

3.1 解压文件

tar -xvf mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz

在这里插入图片描述

3.2 移动文件到/usr/local/mysql路径下

mv mysql-8.4.0-linux-glibc2.28-x86_64 /usr/local/mysql
  • 当/usr/losal/msyql路径不存在时,会自动创建
    在这里插入图片描述

3.3 创建data目录,存储MySQL数据

cd /usr/local/mysql
mkdir data
# MySQL错误日志路径
mkdir data/error
# 日志文件
touch data/error/mysql.log
# 临时文件
mkdir data/tmp

在这里插入图片描述

3.4 创建用户并添加用户组

  • 保证Linux系统文件的用户隔离和安全性。
groupadd mysql # 创建mysql用户组
useradd -g mysql mysql # 创建用户mysql,并指定用户的组

3.5 为mysql用户分配文件权限

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

chmod 750 /usr/local/mysql/data
  • 查看/usr/local/mysql文件权限
ll -al /usr/local/msyql

在这里插入图片描述

3.6 修改or创建mysql的配置文件

vim /etc/my.cnf
  • 输入以下内容
[mysqld]
bind-address=0.0.0.0
# 端口
port=3306
# 用户
user=mysql
# mysql根路径
basedir=/usr/local/mysql
# mysql数据路径
datadir=/usr/local/mysql/data

[mysqld_safe]
# 会话信息
socket=/usr/local/mysql/data/tmp/mysql.sock
# 错误日志路径
log-error=/usr/local/mysql/data/error/mysql.log
# 进程存放路径
pid-file=/usr/local/mysql/data/mysql.pid

#character config
# 服务编码格式
character_set_server=utf8mb4
# symbolic-links=0为是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
symbolic-links=0
# 对column属性是timestamp的处理模式,默认OFF
explicit_defaults_for_timestamp=ON

# 关闭MySQL的only_full_group_by模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#忽略表名大小写
lower_case_table_names=1
[client]
# 客户端默认编码格式
default-character-set=utf8mb4
socket=/usr/local/mysql/data/tmp/mysql.sock

3.7 创建mysql-server服务

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

/etc/init.d 目录通常用于存放启动脚本,这些脚本用于管理系统服务的启动、停止和重启。

  • 授权授权以及添加服务
chmod +x /etc/init.d/mysql
 
chkconfig --add mysql
  • 检查mysql服务是否生效
chkconfig  --list mysql

在这里插入图片描述

3.8 数据库初始化

  • 切换到/usr/local/mysql/bin目录下
cd /usr/local/mysql/bin
  • 执行数据库初始化命令
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

在这里插入图片描述
保存好初始密码。

四、环境配置与服务启动

4.1 配置MySQL全局变量

  • 编辑配置文件
vim /etc/profile.d/mysql_home.sh

写入下面参数配置,:wq!保存退出。

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH

  • 设置环境变量立即生效使用source /etc/profile命令。
    在这里插入图片描述

4.2 启动MySQL服务

service mysql start

在这里插入图片描述

  • 查看MySQL服务进程
ps -ef|grep mysql

在这里插入图片描述

五、修改密码

5.1 使用上述初始化是的原始密码,登录MySQL服务

mysql -uroot -p

在这里插入图片描述

  • 修改mysql数据库密码,注意:此处123456修改为自己的需要密码即可。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

在这里插入图片描述

5.2 刷新权限配置&退出

flush privileges;

exit;

在这里插入图片描述

5.3 验证使用修改后的密码登录

  • 重启MySQL服务
service mysql restart

在这里插入图片描述

  • 新密码登录验证通过
    在这里插入图片描述

六、设置远程登录

6.1 切换到mysql数据库

use mysql;

在这里插入图片描述

6.2 设置允许远程访问

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

在这里插入图片描述

6.3 刷新权限配置&退出

flush privilege;

exit;

在这里插入图片描述

6.4 远程连接验证

  • 这里是通过DataGrip工具进行的远程连接测试,当然,navicat也是一个常用的数据库连接工具。
    在这里插入图片描述

http://www.kler.cn/a/322062.html

相关文章:

  • 【Text2SQL】DAIL-SQL阿里推出,在Spider取得了SOTA
  • 后端回写前端日期格式化
  • 服务器安装openssh9.9p1
  • 学习笔记每日一题
  • node - npm常用命令和package.json说明
  • 编写webpack插件自动找到大文件并上传到指定服务器
  • uniapp实现在表单中展示多个选项,并且用户可以选择其中的一个或多个选项
  • 11.对于贪心算法,该方法如何平衡长期效果和短期最大利用率?
  • 即插即用篇 | YOLOv8 引入单头视觉Transformer模块 | CVPR 2024
  • Python办公自动化教程(004):PDF添加水印
  • Spring Boot用Spring Security + JWT + MySQL实现基于Token的身份认证
  • Python基础知识 (七)--匿名函数
  • 产教专家共议数字时代下的数据思维人才培养
  • 一文系统了解软件检测实验室CNAS认可,文件依据、资源准备、流程、预算
  • 鸿蒙 OS 开发单词打卡 APP 项目实战 20240922 笔记和源码分享
  • SpringBoot图书馆管理:阿博系统教程
  • Android 去掉SIM卡插拔出现的重启弹窗提示
  • 004_动手实现MLP(pytorch)
  • 啥?Bing搜索古早BUG至今未改?
  • 爱的旅程 再次起航 朵拉朵尚公益行为更多的孩子点亮梦想