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

MySQL5.7之源码安装

文章目录

  • 下载
  • 编译&打包
  • 初始化数据目录
  • 启动服务器
  • 更改/设置root密码

下载

下载地址:https://downloads.mysql.com/archives/community/

推荐下载 All Operating Systems (Generic) (Architecture Independent), Compressed TAR ArchiveIncludes Boost Headers 这个带Boost Headers的版本

编译&打包

安装包下载解压后。执行以下命令,编译之前需要cmake、make相关的工具。如果没有需要自行安装。

cd mysql-5.7 ##自己解压的目录里
mkdir mysql-build && cd mysql-build ## 新建一个目录用来编译
cmake -DWITH_BOOST=/path/boost ../ ## 5.7编译需要用到boost,这里需要制定路径。
make && make package ## 这个命令可以构建package.tar.gz 安装。
##或者执行
make && make install DESTDIR=/path/mysql ## 这个命令可以执行构建并按照到目录/path/mysql 

初始化数据目录

参考MySQL数据目录初始化过程
通过RPM包、DMG包、EXE等形式安装的MySQL会自动初始化数据目录。通过源码、tar.gz、zip包安装的MySQL需要手动初始化数据目录。

./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql --datadir=/opt/mysql/mysql/data

在初始化数据目录时,您不应该指定除用于设置目录位置(如--basedir或--datadir)以及(如果需要)--user选项之外的任何选项。MySQL服务器在正常使用过程中将使用的选项可以在初始化后重新启动时设置。
也可以在配置文件 my.cnf 中添加

[mysqld]
basedir=/opt/mysql/mysql
datadir=/opt/mysql/mysql/data

然后执行以下命令,下面的命令等同于 bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql --datadir=/opt/mysql/mysql/data

bin/mysqld --defaults-file=/opt/mysql/mysql/etc/my.cnf  --initialize --user=mysql

启动服务器

如果按照目录中有 mysqld_safe脚本,启动mysql 服务器

./bin/mysqld_safe --user=mysql &
## 由于我这里修改了默认的数据目录,所以这里启动需要执行数据目录
./bin/mysqld_safe --user=mysql --basedir=/opt/mysql/mysql --datadir=/opt/mysql/mysql/data

在Linux系统上,如果MySQL是通过RPM包安装的,那么服务器的启动和关闭通常是通过systemd来管理的,而不是通过mysqld_safe。

mysqld_safe是一个启动脚本,它提供了额外的安全性、错误检测和记录。它通常用于以安全的方式启动MySQL服务器。

MySQL服务器应该使用无特权(非root)登录帐户运行。为确保这一点,请以root身份运行mysqld_safe,并包含如所示的–user选项。否则,您应该在登录为mysql用户时执行该程序,在这种情况下,您可以从命令中省略–user选项。

如果服务器无法访问数据目录,或者无法启动、读取mysql数据库中的授权表。如果在执行启动服务器之前忽略了通过初始化数据目录来创建授权表,或者您在没有--user选项的情况下运行了初始化数据目录的命令,就可能会出现此类问题。请删除数据目录并使用--user选项重新运行初始化数据目录命令。

更改/设置root密码

在初始化数据目录的过程中,如果有参数 --initialize,root账号会随机生成密码;如果有参数 --initialize-insecure,root不会设置密码(参考MySQL数据目录初始化过程)。这时候都需要重置root密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
flush privileges;
http://www.lryc.cn/news/421453.html

相关文章:

  • 【Linux学习 | 第3篇】Linux系统安装 jdk+Tomcat+MySQL+lrzsz
  • python语言day5 MD5 json
  • 【Python学习手册(第四版)】学习笔记19-函数的高级话题
  • Selenium + Python 自动化测试11(unittest组织用例)
  • 【唐氏题目 nt题】与众不同
  • 2000块的活嫌低?这个 6 位数的项目,你可不能错过哟!
  • 【Postman工具】
  • 全网超详细攻略-从入门到精通haproxy七层代理
  • AI编程辅助工具:CodeGeeX 插件使用
  • sql注入实战——thinkPHP
  • MySQL 迁移 OceanBase 的 Oracle模式中,实现自增主键的方法
  • 【C++ 面试 - 基础题】每日 3 题(十一)
  • ESP8266在线升级OTA固件
  • 精通C++ STL(六):list的模拟实现
  • 《雅思口语真经总纲1.0》话题实战训练笔记part1——6. Music
  • Python之赋值语句(多重赋值和交换赋值)
  • 网络协议七 应用层 HTTP 协议
  • uniapp vue 在适配百度小程序平台动态:style
  • 【最小生成树】(二) Kruskal 算法
  • haproxy最强攻略
  • XetHub 加入 Hugging Face!
  • 在编程学习的海洋中,如何打造高效的知识宝库
  • string详解(1)
  • Linux云计算 |【第二阶段】NETWORK-DAY4
  • amazon linux使用密码登录或者root登陆
  • 集智书童 | CNN 与 Transformer 的强强联合:AResNet-ViT在图像分析中的优势 !
  • Ubuntu基础使用指南
  • 怎样才算精通 Excel?
  • 怎么学算法并找到工作
  • 【实时建图】MapTR(1)------ 论文详解