linux下mysql 5.1.73 源码安装笔记

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:


第一步,下载和解压安装包:

mysql 5.1.73官方下载地址。

http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.73.tar.gz

md5:887f869bcc757957067b9198f707f32f

1 md5sum mysql-5.5.38.tar.gz      #计算md5校验和
2 tar -zxf mysql-5.1.73            #解压到当前文件夹

 

 第二步,系统的设置:

1 #为mysqld增加组和登陆用户
2 groupadd mysql
3 useradd -g mysql mysql 
4 #建立目录,可以按要求自己设置路径,注意下面安装时相应调整即可。
5 mkdir -p  /usr/local/mysql      #mysql安装目录
6 mkdir -p /usr/local/mysql/var #数据库存放目录

 

 第三步,编译安装:

1 cd  mysql-5.1.73     #进入源码目录
2 ./configure --prefix=/usr/local/mysql  -with-plugins=innobase     #设置安装目录,使用innodb的需要加上innobase插件。
3 make             #编译
4 make install        #安装,会安装到设定的目录/usr/local/mysql

 第四步,初始化数据库:

1 #初始化配置文件
2 cp support-files/my-medium.cnf /etc/my.cnf
3 #这步必须在make完成之后,否组可能找不到my-medium.cnf。当前目录是源码目录。

为支持InnoDB表,编辑/etc/my.cnf文件,去掉innodb_…开始选项行前面的#符。

1 bin/mysql_install_db--user=mysql  #安装授权表,root账户下需要--user,让脚本在mysql用户下运行,为了让文件所有权归mysql用户所有。
2 chown -R root .       #所有二进制文件所有权设置为root,因为本实验是root用户下安装的,所以不需要改。
3 chown -R mysql var   #数据目录所有权改为运行mysqld的用户
4 chgrp -R mysql .            #整个安装目录的所属组改为mysql组。
5 #-R是递归的意思,其实也可以全部设置为mysql用户和mysql组的。
6 #上面的做法是为了把mysql降权,以限定只能访问属于mysql用户的文件。

 第五步,添加服务和启动项以及修改默认存储引擎:

添加服务:
1 cp support-files/mysql.server  /etc/init.d/mysql.server #将mysql的启动服务添加到系统服务中
2 chmod u+x /etc/init.d/mysql.server     #这步很必要,否则可能启动服务时提示没有权限。
3 service mysql.server start        #启动
4 service mysql.server stop         #停止
5 service mysql.server restart     #重启
6 service mysql.server status      #状态

 

添加启动项:
1 sudo chkconfig --level 23 mysql on    #设定启动,在运行级别为2和3时
修改该存储引擎

vim /etc/my.cnf

在[mysqld] 下面加入default-storage-engine=INNODB,保存。

 

 遇到的错误:

在安装之后,使用mysqld_safe脚本直接启动遇到如下错误。

‘–skip-locking’ is deprecated and will be removed in a future release. Please use ‘–skip-external-locking’ instead.

解决方法:

将/etc/my.cnf里面的skip-locking 改为skip-external-locking

参考资料 http://www.bootf.com/594.html







参考:https://yq.aliyun.com/articles/53576

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
20 0
|
5天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
16天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
19 0
|
1天前
|
关系型数据库 MySQL Java
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
12 2
|
3天前
|
关系型数据库 MySQL 中间件
【MySQL实战笔记】07 | 行锁功过:怎么减少行锁对性能的影响?-02 死锁和死锁检测
【4月更文挑战第19天】在高并发环境下,死锁发生在多个线程间循环等待资源时,导致无限期等待。MySQL中,死锁可通过`innodb_lock_wait_timeout`参数设置超时或`innodb_deadlock_detect`开启死锁检测来解决。默认的50s超时可能不适用于在线服务,而频繁检测会消耗大量CPU。应对热点行更新引发的性能问题,可以暂时关闭死锁检测(风险是产生大量超时),控制并发度,或通过分散记录减少锁冲突,例如将数据分拆到多行以降低死锁概率。
19 1
|
4天前
|
Linux Android开发
Linux(6)CH9434 SPI调试笔记
Linux(6)CH9434 SPI调试笔记
12 0
|
9天前
|
存储 关系型数据库 MySQL
Linux | MySQL基础
Linux | MySQL基础
|
9天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
22 0
|
13天前
|
存储 关系型数据库 MySQL
【MySQL实战笔记】 04 | 深入浅出索引(上)-02
【4月更文挑战第9天】InnoDB数据库使用B+树作为索引模型,其中主键索引的叶子节点存储完整行数据,非主键索引则存储主键值。主键查询只需搜索一棵树,而非主键查询需两次搜索,因此推荐使用主键查询以提高效率。在插入新值时,B+树需要维护有序性,可能导致数据页分裂影响性能。自增主键在插入时可避免数据挪动和页分裂,且占用存储空间小,通常更为理想。然而,如果场景仅需唯一索引,可直接设为主键以减少查询步骤。
15 1
【MySQL实战笔记】 04 | 深入浅出索引(上)-02
|
15天前
|
存储 SQL 关系型数据库
【MySQL实战笔记】03.事务隔离:为什么你改了我还看不见?-02
【4月更文挑战第7天】数据库通过视图实现事务隔离,不同隔离级别如读未提交、读已提交、可重复读和串行化采用不同策略。以可重复读为例,MySQL使用多版本并发控制(MVCC),每个事务有其独立的视图。回滚日志在无更早视图时被删除。长事务可能导致大量存储占用,应避免。事务启动可显式用`begin`或设置`autocommit=0`,但后者可能意外开启长事务。建议使用`autocommit=1`并显式管理事务,若需减少交互,可使用`commit work and chain`。
30 5