当前位置: 首页 > 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;
      在这里插入图片描述
      在这里插入图片描述

相关文章:

  • 通信网络编程——JAVA
  • AWS EC2源代码安装valkey命令行客户端
  • PHP 代理服务器:如何在 PHP 中设置代理
  • STC15W408AS计数器
  • 分水岭算法:从逻辑学角度看图像分割的智慧
  • 图像匹配导航定位技术 第 12 章
  • 报表制作工具PK:山海鲸报表和Looker,谁更适合新手使用?
  • 如何使用 WMIC 命令在 Windows 11 或 10 上卸载软件
  • 机器学习实战:归一化与标准化的选择指南
  • MAC-OS X 命令行设置IP、掩码、网关、DNS服务器地址
  • # 实时英文 OCR 文字识别:从摄像头到 PyQt5 界面的实现
  • Go 语言 slice(切片) 的使用
  • Git安装教程及常用命令
  • 数据结构-树(2)
  • [python] 面向对象的三大特性-封装及新式类
  • Python制作Dashboard【待续】
  • upload-labs通关笔记-第01关 文件上传之前端绕过(3种渗透方法)
  • Clinica集成化的开源平台-神经影像研究
  • 解决下拉框数据提交后回显名称不对
  • 企业级常用的 CentOS版本
  • 美元指数上涨超1%重返101上方,创1个月新高
  • 60余年产业积累,“江苏绿心”金湖炼就“超级石油工具箱”
  • 浙江首个核酸药谷落子杭州,欢迎订阅《浪尖周报》第23期
  • 姚洋将全职加盟上海财经大学,担任滴水湖高级金融学院院长
  • 航行警告:渤海海峡黄海北部执行军事任务,禁止驶入
  • 观察|天空之外的战场:官方叙事、新闻与社交平台中的印巴冲突