LINUX 环境下源码方式安装mysql5.6

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 1.下载mysql源码: wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz 备注:至于想以什么方式下载都无所谓,总之得到源码就可以了~ 2.确认需要的开发工具的版本,都要满足mysql安装版本的需要  Building GCC requires GMP 4.2+, MPFR 2.4.0
1.下载mysql源码:
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz

备注:至于想以什么方式下载都无所谓,总之得到源码就可以了~

2.确认需要的开发工具的版本,都要满足mysql安装版本的需要

 Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+. cmake 3.75+, gcc 4.21+, perl  if you intend to run test scripts
3.创建mysql的安装目录 mysql

mkdir mysql526

备注:一般在虚拟机、测试环境、开发机、服务器上安装的时候都不会直接使用root权限进行安装,因为使用普通用户安装会降低服务器的风险,但是同时也带来了一个问题,就是对于默认的安装路径下我们没有读写权限,这时候按照官方简易的文档安装就会失败,或者出现各种各样的无法连接、无法启动等错误

此处的方法是用普通用户权限进行安装

4.创建几个相应的文件夹:tmp, var, etc,

cd mysql526
mkdir tmp var etc

5.执行cmake创建makefile
cmake . -DCMAKE_INSTALL_PREFIX=/home/work/mysql526 -DEFAULT_CHARSET=utf8 -DEFAULT_COLLATION=utf8_general_ci 
-DMYSQL_UNIX_ADDR=/home/work/mysql526/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DTMPDIR=/home/work/mysql526/log/

参数介绍:

-DCMAKE_INSTALL_PREFIX:相当于安装的根目录,其余的一些配置,都会安装在PREFIX/下。比如PREFIX/BIN,等等
-DEFAULT_CHARSET:默认编码
-DEFAULT_COLLATION=utf8_general_ci:默认排序方式
-DMYSQL_UNIX_ADDR=/home/work/mysql526/tmp/mysql.sock:连接mysql使用的socket文件,此处很关键!
-DWITH_INNOBASE_STORAGE_ENGINE=1:使用innodb引擎
-DTMPDIR=/home/work/mysql526/log/:指定tmp文件夹路径,一般tmp中包含mysql.sock,log,pid等配置
-MYSQL_TCP_PORT=3306:TCP/IP port number, and Unix socket file can be changed at server startup with the --basedir, --port, and --socket options for mysqld. Where applicable,

注:此处如果报错:可以查看CMakeCache.txt, CMakeFiles/CMakeError.log  and  CMakeFiles/CMakeOutput.log   under the  build directory
解决错误后,执行rm CMakeCache.txt,然后再次cmake重新配置
注:如果MYSQL_MAINTAINER_MODE 配置是enable的,它会将warn变成error,可以disable这个选项,再编译
doc:If compilation fails, check whether the    MYSQL_MAINTAINER_MODE option is enabled. This mode causes  compiler warnings to become errors, so disabling it may  enable compilation to proceed.

5.1cmake介绍:此处编译使用的是cmake工具

下载地址:https://cmake.org/download/

https://cmake.org/files/v3.4/cmake-3.4.0-rc1.tar.gz

6.执行make编译:
make
注:如果此处出错,需要先执行make clean,再执行rm CMakeCache.txt,然后在重新cmake----make
注:如果make失败:并且提示了如下信息的任意一种:表明make的版本过低,升级GNU的make去吧。3.75+
#1:make: Fatal error in reader: Makefile, line 18:    Badly formed macro assignment
#2:pthread.h: No such file or directory
#3:make: file `Makefile' line 18: Must be a separator (:
7.执行安装
make install
注:make install 也可以指定路径,但是如果你已经在cmake的时候指定了 -DCMAKE_INSTALL_PREFIX参数,就不要在这里再指定了。。 make install DESTDIR="/some/absolute/path"

8.准备mysql的配置文件:关于my.cnf的配置请参考下一章,这里先凑合用
cp support-files/my-default.cnf etc/my.cnf     //****my-default.cnf是空白的,都得自己配置,如果my-medium.cnf要是没有,就去偷一个吧
或者   cp /home/work/mysql526/support-files/my-medium.cnf /home/work/mysql526/etc/my.cnf
9.编辑my.cnf,配置相关参数的路径
# The MySQL server
     26 [mysqld]
     27 port        = 3306
     28 /home/work/mysql526/tmp/mysql.sock
     29 log-error   =/home/work/mysql526/log/mysql.err
     30 pid-file    =/home/work/mysql526/tmp/mysql.pid

10. 配置环境变量
TMPDIR=/home/work/mysql5/tmp/
MYSQL_UNIX_PORT=/home/work/mysql5/tmp/mysql.sock
export TMPDIR MYSQL_UNIX_PORT
11.数据初始化:需要Perl。如果没有也需要安装,yum install perl  然后还得安装yum install perl-Data-Dumper
记得指定参数,要读取我们刚刚配置的my.cnf配置文件,否则白折腾了,user就是你的用户名,数据初始化结束后,去data目录下能看到多了test以外的数据文件
scripts/mysql_install_db --defaults-file=/home/work/mysql526/etc/my.cnf --user=work --basedir=/home/work/mysql526/ --datadir=/home/work/mysql526/data/

13.安全 守护进程 启动msyql ------ 至于为啥带my.cnf参数,请参考下一章
--help :  带my.cnf参数启动,配置各种权限     //**这个还必须要指定这个配置参数
/home/work/mysql526/bin/mysqld_safe --defaults-file=/home/work/mysql526/etc/my.cnf
14.设置密码
1./home/work/mysql526//bin/mysqladmin -u root password 设置密码:xxx123  
2./home/work/mysql526//bin/mysqladmin -u root -h cp01-vm-epc-wiseapp5.epc.com password 设置密码:xxx123
15.执行product环境清理工作,提高安全性
在product环境执行: /home/work/mysql526//bin/mysql_secure_installation
16.配置指定的IP可以访问: 配置 10.126.107.119 使用root,xxx123连接,
GRANT ALL PRIVILEGES ON *.* TO 'root'@'   10.126.107.119' IDENTIFIED BY 'xxx123' WITH GRANT OPTION;
flush privileges;  //---别忘记了。。否则又蒙圈
注: For boolean options, the value may be specified as 1 or ON to enable the option, or as 0 or OFF to disable the option
17.mysql -uroot -p .............没了。。。。附加一页文档:   http://dev.mysql.com/doc/internals/en/cmake-howto-detailed.html

18.常见问题:
1. 报错:CMAKE_CXX_COMPILER-NOTFOUND
需要安装g++
yum install g++
2. 报错:Curses library not found
yum install ncurses-devel

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
17天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
34 5
|
17天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
38 3
|
17天前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
29 3
|
24天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
69 3
|
24天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
51 1
|
25天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
46 2
|
27天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
72 3
|
28天前
|
Linux UED iOS开发
|
13天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
83 0
|
19天前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
37 0
下一篇
无影云桌面