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

我们来学mysql -- 安装8.4版本

8.4版本

  • 下载
  • 解压
  • 用户
  • 目录&用户权限
  • my.cnf
  • 初始化
  • 普通启动
  • safe启动
  • 检查启动用户
  • 登录
  • 远程登录用户'root'@'%'

下载

  • 地址
  • 选择安装包
    • 查看OS位数 getconf LONG_BIT
      在这里插入图片描述在这里插入图片描述
  • 二进制安装包说明
    • 二进制包的文件名会包含 linux 或 glibc 等字样
    • 如:mysql-8.4.4-linux-glibc2.28-x86_64.tar.xz
    • 二进制包含 bin 目录,其中包含可执行文件(如 mysqld、mysql 等)

解压

tar -xvJf mysql-8.4.4-linux-glibc2.28-x86_64.tar.xz  -C /u01/app/oracle2/mysql-8.4.4

在这里插入图片描述

用户

  • 误区
    • 不需要通过mysql用户登录进行安装
    • root用户执行安装,创建用户、组和设置目录权限
    • mysql用户作用:运行mysql时使用

  • 为何不用root用户运行
    • 可能涉及到系统安全。如果MySQL以root用户运行,一旦有安全漏洞,攻击者可能获得root权限,对整个系统造成威胁

  • 查看用户是否存在
    • id mysql
      在这里插入图片描述
  • 创建用户及用户组

目录&用户权限

  • 与解压目录平级
    • 创建data ,log , tmp 文件夹
    • mkdir /u01/app/oracle2/{dbdata,tmp,logs} -pv
  • 目录权限分配给mysql用户和组
    • chown -R mysql.mysql /u01/app/oracle2
      在这里插入图片描述

my.cnf

  • 解压目录中没有这个文件

初始化

./mysqld --defaults-file=/u01/app/oracle2/mysql-8.4.4/my.cnf --basedir=/u01/app/oracle2/mysql-8.4.4 --datadir=/u01/app/oracle2/dbdata --user=mysql --initialize
  • 创建 MySQL 内部使用的系统表
  • 在log目录下创建了 mysqld_error.log mysqld_slow.log
    在这里插入图片描述
  • 初始化用户权限,通常会创建一个默认的 root 用户,并生成一个临时密码
  • 在**/log/mysqld_error.log
    在这里插入图片描述

普通启动

/u01/app/oracle2/mysql-8.4.4/bin/mysqld --basedir=/u01/app/oracle2/mysql-8.4.4 --datadir=/u01/app/oracle2/dbdata --plugin-dir=/u01/app/oracle2/mysql-8.4.4/lib/plugin --user=mysql --log-error=/u01/app/oracle2/logs/mysqld_error.log --open-files-limit=10240 --pid-file=/u01/app/oracle2/mysql-8.4.4/mysqld.pid --socket=/u01/app/oracle2/mysql-8.4.4/mysql.sock --port=3308
  • 命令行参数优先:命令行中指定的参数会覆盖配置文件中的同名参数
  • 如果没有在命令行中指定某些参数,MySQL 会按照优先级顺序查找配置文件
    • /etc/my.cnf
    • /etc/mysql/my.cnf
    • /usr/local/mysql/my.cnf
    • ~/.my.cnf(当前用户的家目录中的配置文件)

safe启动

/bin/sh /u01/app/oracle2/mysql-8.4.4/bin/mysqld_safe  --defaults-file=/u01/app/oracle2/mysql-8.4.4/my.cnf --datadir=/u01/app/oracle2/dbdata --pid-file=/u01/app/oracle2/mysql-8.4.4/mysqld.pid
  • 是一个用于启动和监控 mysqld 进程的sh脚本
  • /bin/sh 确保脚本在正确的 shell 环境中执行,避免因默认 shell 不同导致的兼容性问题
    在这里插入图片描述
  • 会在 mysqld 进程崩溃时自动重新启动它
    在这里插入图片描述

检查启动用户

在这里插入图片描述
在这里插入图片描述

登录

/u01/app/oracle2/mysql-8.4.4/bin/mysql -h 127.0.0.1  -P 3308 -u root -p
  • 查看版本
  • 执行报错 : You must reset your password using ALTER USER statement before executing this statement.
  • 修改密码:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new_password’;
    在这里插入图片描述

远程登录用户’root’@‘%’

  • 在 MySQL 中,用户是由用户名和主机名共同定义的。
  • root@localhost 和 root@% 是两个不同的用户,即使用户名相同。
  • 要允许 root 用户从远程连接,创建一个新的用户 root@%,并授予其相应的权限
    • CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘root@000’;
  • 查看权限
    • SELECT * FROM information_schema.USER_PRIVILEGES WHERE GRANTEE = “‘root’@‘%’”;
      在这里插入图片描述
  • 远程可登录,打不开数据库
    在这里插入图片描述
  • 授权
    • GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
      在这里插入图片描述
      在这里插入图片描述
http://www.xdnf.cn/news/412039.html

相关文章:

  • 在CentOS 7上仅安装部署MySQL 8.0客户端
  • 将arduino开发的Marlin部署到stm32(3D打印机驱动)
  • 【GESP】C++三级练习 luogu-B2156 最长单词 2
  • NeurIPS 2025 截稿攻略
  • 无线传感器网络期末复习自整理资料(天大)
  • 【Game】Powerful——Hero Trial(11)
  • Windows下安装Docker Desktop到C盘以外的盘
  • 透视相机:创意摄影新体验,解锁照片无限可能
  • 计网第四次作业
  • MyBatis 一对多关联映射在Spring Boot中的XML配置
  • 北京市通州区经信局对新增通过国家级生成式人工智能及深度合成算法备案企业给予100w、20w一次性补贴
  • 【软考-软件设计师学习总结】- 计算机网络概述
  • MINIX 1.0 文件系统的实现(C/C++实现)
  • Lynx-字节跳动跨平台框架多端兼容Android, iOS, Web 原生渲染
  • Vue学习百日计划-Deepseek版
  • 残差网络(ResNet)
  • c/c++爬虫总结
  • docker使用过程中遇到概念问题
  • 线程的让位(Yield)
  • 修改linux同步时间
  • 潘大水库介绍
  • object的常用方法
  • MAC-OS X 命令行设置IP、掩码、网关、DNS服务器地址
  • 5月12日信息差
  • 为什么 cout<<“中文你好“ 能正常输出中文
  • Django 项目的 models 目录中,__init__.py 文件的作用
  • [ linux-系统 ] 自动化构建工具makefile
  • Python实例题:pygame开发打飞机游戏
  • 防爆手机与普通手机有什么区别
  • WHAT - 《成为技术领导者》思考题(第六章)