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

mysql源码编译安装

下载地址:http://dev.mysql.com/downloads/mysql/5.1.html#downloads 免费版,只能下载mysql社区版。MySQL Community Server 选择合适的版本迚行下载:   

安装前,如果不存在mysql 用户,则建立之 

[root@localhost ~]# useradd mysql 

[root@localhost Desktop]# vim /etc/passwd   #不让mysql用户登录系统 改成:

 mysql:x:501:501::/home/mysql:/sbin/nologin  

解压安装 

[root@localhost ~]# tar zxvf mysql-5.5.30.tar.gz -C /usr/local/src/ 

[root@localhost src]# cd /usr/local/src/mysql-5.5.30/ 

编译,安装: Mysql 5.5.15使用了新的cmake编译方式,所以先安装cmake  

cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够 输出各种各样的 makefile 戒者 project 文件,能测试编译器所支持的 C++特性,类似 UNIX 下的 automake。

 安装cmake: 

[root@localhost  mysql-5.5.30]# yum install  -y cmake # cmake-2.6.4-5.el6.x86_64.rpm软件包,RHEL系统自带,配置好yum源,   

开始编译:

 [root@localhost src]# mkdir /server/

 [root@localhost  src]# cd /usr/local/src /mysql-5.5.30

 [root@localhost  src]# cmake -DCMAKE_INSTALL_PREFIX=/server/mysql-5.5 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/server/mysql/data -DMYSQL_USER=mysql 

cmake 编译选项含意:

 -DCMAKE_INSTALL_PREFIX=/server/mysql-5.5  #指定mysql安装的根目录,只要/server目录存在就可以了,mysql-5.5在安装时,会自动创建。这个 值可以在服务器启动时,通过--basedir来设置。

 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock  #mysql服务器用于监听的套接字,这个必需是一个绝对路径,默认是/tmp/mysql.sock。在服务器启动时,可通过--socket 来改变。 

-DDEFAULT_CHARSET=utf8  设置mysql默认使用utf8字符集,不指定,默认使用latin1 西欧字符集。

 -DDEFAULT_COLLATION=utf8_general_ci   #默认字符校对。 

  db.opt DWITH_EXTRA_CHARSETS=all  #指定mysql扩展字符集支持所有的字符集。默认mysql支持所有字符集

 -DWITH_MYISAM_STORAGE_ENGINE=1 

 -DWITH_INNOBASE_STORAGE_ENGINE=1   

-DWITH_MEMORY_STORAGE_ENGINE=1  

 #静态编译 Myisam、Innobase、Memory 存储引擎到 mysql 服务器。这样 mysql 服务器就支持这三 种存储引擎了。  

-DWITH_READLINE=1   #支持readline库 。

 -DENABLED_LOCAL_INFILE=1   #允许从本地导入数据 ,吭用加载本地数据 

-DMYSQL_DATADIR=/server/mysql/data   #mysql数据库存放数据的目录 

-DMYSQL_USER=mysql    #指定运行mysql服务的用户 

注:具体编译参数参考: http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html  

最终会像configure一样生成Makefile。 

安装:

 [root@localhost  mysql-5.5.30]# make -j 4   #注:-j 用来指定CPU核心数,可加快编译速度。 加 -j 4 确实可以提升很高的速度。我的CPU是4核心的。 

[root@localhost  mysql-5.5.30]# make   install

配置mysql运行环境: 

chown -R mysql:mysql /server/mysql-5.5   #修改mysql安装目录权限,允许mysql用户对mysql 数据库文件夹读写。  
复制mysql配置文件 

 [root@localhost  ~]# cp /usr/local/src/mysql-5.5.30/support-files/my-large.cnf /etc/my.cnf  
设置mysqld5.5服务开机启动:

 cp /usr/local/src/mysql-5.5.30/support-files/mysql.server  /etc/init.d/mysqld5.5 

复制mysql开机启动文件,以后可以使用service命令来启动和关闭mysql 

chmod +x /etc/init.d/mysqld5.5  
vim /etc/init.d/mysqld5.5(编辑此文件,查找并修改以下变量内容:)  

将原文件中: 

basedir=  

datadir= 

修改成:

basedir=/server/mysql-5.5 

datadir=/server/mysql-5.5/data 

加入开机启动项:

 [root@localhost  Desktop]# chkconfig mysqld5.5 on 

[root@localhost  Desktop]# chkconfig  --list mysqld5.5 

mysqld5.5       0:off 1:off 2:on 3:on 4:on 5:on 6:off 

初始化mysql数据库: 

[root@localhost  scripts]# pwd /usr/local/src/mysql-5.5.30/scripts 

[root@localhost  scripts]# chmod +x mysql_install_db 

[root@localhost  scripts]# ./mysql_install_db --defaults-file=/etc/my.cnf --basedir=/server/mysql-5.5 --datadir=/server/mysql-5.5/data --user=mysql  

#类似于 rpm 包安装的mysql数据库,第一次启动弹出的消息 

Installing MySQL system tables... 
OK 
Filling help tables... 
OK  


To start mysqld at boot time you have to copy 
support-files/mysql.server to the right place for your system  


PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! 
To do so, start the server, then issue the following commands:
  
/server/mysql-5.5/bin/mysqladmin -u root password 'new-password' 
/server/mysql-5.5/bin/mysqladmin -u root -h xuegod63.cn password 'new-password' 
 
Alternatively you can run: 
/server/mysql-5.5/bin/mysql_secure_installation 
 
which will also give you the option of removing the test 
databases and anonymous user created by default.  This is strongly recommended for production servers.  


See the manual for more instructions.  


You can start the MySQL daemon with: 
cd /server/mysql-5.5 ; /server/mysql-5.5/bin/mysqld_safe &  


You can test the MySQL daemon with mysql-test-run.pl 
cd /server/mysql-5.5/mysql-test ; perl mysql-test-run.pl  


Please report any problems with the /server/mysql-5.5/scripts/mysqlbug script! 

开启mysql 

[root@localhost  scripts]# /etc/init.d/mysqld5.5 start 

Starting MySQL....                                         [  OK  ] 

测试登录: 

[root@localhost  ~]# mysql 

使用系统自带的mysql命令测试登录,如下图,说明登录成功。刚安装好mysql数据,root用户是没有 密码的。 

[root@localhost  scripts]# mysql 

Welcome to the MySQL monitor.  Commands end with ; or \g. 

Your MySQL connection id is 1 

Server version: 5.5.30-log Source distribution  
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 

This software comes with ABSOLUTELY NO WARRANTY. This is free software, 

and you are welcome to modify and redistribute it under the GPL v2 license  

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

设置mysql  root密码: 

[root@localhost Desktop]# mysqladmin -uroot password '123456' 

[root@localhost ~]# mysql -u root -p123456

设置mysql只允许局域组中的服务器和本地回环口,连接3306端口: 

LAMP 都运行在一台机器上  
[root@localhost Desktop]# iptables -A INPUT -s 192.168.1.0/255.255.255.0 -p tcp --dport 3306 -j ACCEP 

[root@localhost Desktop]# iptables -A INPUT -s 127.0.0.1 -p tcp --dport 3306 -j ACCEPT 

[root@localhost Desktop]# iptables -A INPUT ! -s 127.0.0.1 -p tcp --dport 3306 -j DROP 

保存规则: 

[root@localhost Desktop]# /etc/init.d/iptables save

相关文章:

mysql源码编译安装

下载地址:http://dev.mysql.com/downloads/mysql/5.1.html#downloads 免费版,只能下载mysql社区版。MySQL Community Server 选择合适的版本迚行下载: 安装前,如果不存在mysql 用户,则建立之 [rootlocalhost ~]# useradd mys…...

On Moving Object Segmentation from Monocular Video with Transformers 论文阅读

论文信息 标题:On Moving Object Segmentation from Monocular Video with Transformers 作者: 来源:ICCV 时间:2023 代码地址:暂无 Abstract 通过单个移动摄像机进行移动对象检测和分割是一项具有挑战性的任务&am…...

[AutoSar NVM] 存储架构

依AutoSAR及公开知识辛苦整理,禁止转载。 专栏 《深入浅出AutoSAR》, 全文 2900 字. 图片来源: 知乎 汽车的ECU内存中有很多不同类型的变量,这些变量包括了车辆各个系统和功能所需的数据。大部分变量在ECU掉电后就会丢失&#x…...

ES10 新特性

1. Object.fromEntries Object.fromEntries() 方法把可迭代对象的键值对列表转换为一个对象。 语法: Object.fromEntries(iterable)iterable:类似 Array 、 Map 或者其它实现了可迭代协议的可迭代对象。返回值:一个由该迭代对象条目提供对应属性的新对象。相当于 Object.e…...

宝塔安装脚本

Centos安装脚本 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec Ubuntu/Deepin安装脚本 wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sud…...

gulp打包vue3+jsx+less插件

最终转换结果如下 在根目录下添加gulpfile.js文件,package.json添加命令npm run gulp var gulp require(gulp) var babel require(gulp-babel) var less require(gulp-less) var del require(del); var spawn require(child_process).spawn;const outDir &…...

华为ICT——第四章深度学习和积卷神经

接第三章的末尾: 目录 接第三章的末尾: 1:自适应阈值分割: 2:形态处理: 4:膨胀: 5:腐蚀 6:开运算 7:闭运算 8:特征描述子 9&#xf…...

MongoDB 学习笔记(基础)

概论 出现背景:MongoDB 是文档型数据库,由于传统的关系型数据库(如 MySQL),在数据操作的“三高”需求以及应对 web 的网站需求面前显得有些吃力,在此环境下 MongoDB 出世了 三高需求: (1) 对数…...

【TGRS 2023】RingMo: A Remote Sensing Foundation ModelWith Masked Image Modeling

RingMo: A Remote Sensing Foundation Model With Masked Image Modeling, TGRS 2023 论文:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9844015 代码:https://github.com/comeony/RingMo MindSpore/RingMo-Framework (gitee.com) …...

性能测试 —— 生成html测试报告、参数化、jvm监控

1.生成HTML的测试报告 1.1配置 (1)找到jmeter 的安装目录,下的bin中的jmeter.properties(jmeter配置文件) (2) ctrl f ,搜索jmeter.save.saveservice.output_format,取消井号 并且 把等号后的xml改为csv,…...

堆(二叉树,带图详解)

一.堆 1.堆的概念 2.堆的存储方式 逻辑结构 物理结构 2.堆的插入问题 3.堆的基本实现(代码)(以小堆为例) 1.堆的初始化 2. 向上调整 3.插入结点 4. 交换函数、堆的打印 5.向下调整 6.删除根节点并调整成小根堆 7.获取堆…...

vue3 code format bug

vue code format bug vue客户端代码格式化缺陷,为了方便阅读和维护,对代码格式化发现这个缺陷 vue.global.min.3.2.26.js var Vuefunction(r){"use strict";function e(e,t){const nObject.create(null);var re.split(",");for(le…...

7-3、S曲线生成器【51单片机控制步进电机-TB6600系列】

摘要:本节介绍步进电机S曲线生成器的计算以及使用 一.计算原理 根据上一节内容,已经计算了一条任意S曲线的函数。在步进电机S曲线加减速的控制中,需要的S曲线如图1所示,横轴为时间,纵轴为角速度,其中w0为起…...

CDC实时数据同步

一丶CDC实时数据同步介绍 CDC实时数据同步指的是Change Data Capture(数据变更捕获)技术在数据同步过程中的应用。CDC技术允许在数据源发生变化时,实时地捕获这些变化,并将其应用到目标系统中,从而保持数据的同步性。…...

javaEE -10(11000字详解5层重要协议)

一:应用层重点协议 1.1: DNS DNS,即Domain Name System,域名系统。DNS是一整套从域名映射到IP的系统。 TCP/IP中使用IP地址来确定网络上的一台主机,但是IP地址不方便记忆,且不能表达地址组织信息&#x…...

360智慧生活旗舰产品率先接入“360智脑”能力实现升级

10月25日,360智慧生活秋季新品及视觉云方案发布会在深圳召开。360智能硬件产品,诸如 360可视门铃、360智能摄像机、360行车记录仪、360儿童手表和家庭防火墙等,都在各自的行业有着举足轻重得地位,而这次发布的系列新品&#xff0c…...

【系统架构设计】 架构核心知识: 2 云原生架构

目录 一 云原生架构 1 云计算 2 分类 3 云计算架构 4 云原生架构设计原则...

Unity - 导出的FBX模型,无法将 vector4 保存在 uv 中(使用 Unity Mesh 保存即可)

文章目录 目的问题解决方案验证保存为 Unity Mesh 结果 - OK保存为 *.obj 文件结果 - not OK,但是可以 DIY importer注意References 目的 备忘,便于日后自己索引 问题 为了学习了解大厂项目的效果: 上周为了将 王者荣耀的 杨玉环 的某个皮肤…...

【疯狂Java】数组

1、一维数组 (1)初始化 ①静态初始化:只指定元素,不指定长度 new 类型[] {元素1,元素2,...} int[] intArr; intArr new int[] {5,6,7,8}; ②动态初始化:只指定长度,不指定元素 new 类型[数组长度] int[] princes new in…...

leetcode 503. 下一个更大元素 II、42. 接雨水

下一个更大元素 II 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数&…...

【德哥说库系列】-PostgreSQL跨版本升级

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…...

rust学习——智能指针

智能指针 在各个编程语言中,指针的概念几乎都是相同的:指针是一个包含了内存地址的变量,该内存地址引用或者指向了另外的数据。 在 Rust 中,最常见的指针类型是引用,引用通过 & 符号表示。不同于其它语言&#xf…...

系列一、Spring Framework

一、谈谈你对Spring的理解 Spring是一个生态,是一个轻量级的开源容器框架,可以构建Java应用所需要的一切基础设施,它的出现是为了解决企业级应用开发中业务逻辑层和其他各层对象与对象之间耦合的问题,通常情况下所说的Spring是指S…...

PULP Ubuntu18.04

1. 安装eda工具:questasim_10.7_linux64,网上有教程和方法,如有问题,可私信我 2. 代码下载: git clone https://github.com/pulp-platform/pulp 编译代码 cd pulp source setup/vsim.sh make checkout make scripts …...

Docker harbor私有仓库部与管理

目录 搭建本地私有仓库 Docker容器的重启策略 Harbor 简介 什么是Harbor Harbor的特性 Harbor的构成 Docker harbor私有仓库部署 Harbor.cfg配置文件中的参数 维护管理Harbor 总结 搭建本地私有仓库 #首先下载 registry 镜像 docker pull registry#在 daemon.json …...

解决虚拟机联网问题

虚拟机开机后发现右上角缺少联网标志(下面有正常联网标志),这样就是连不上网的 不信你可以打开Ubuntu里面的浏览器或ping www.baidu.com 1.编辑虚拟机设置-->网络适配器-->如图所示 2.选择编辑-->虚拟网络编辑器 3.更改设置 4此处可以选择还原默认设置&am…...

Unity 自定义小地图

最近工作做了个小地图,再此记录下思路。 1、准备所需素材 显示为地图(我们取顶视图)。创建一个Cube,缩放到可以把实际地图包住。实际地图的尺寸和偏移量 。我这里长宽都是25,偏移量(1,0&…...

力扣每日一题66:加一

题目描述: 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输…...

项目管理工具ConceptDraw PROJECT mac中文版自定义列功能

ConceptDraw PROJECT Mac是一款专业的项目管理工具,适用于MacOS平台。它提供了成功规划和执行项目所需的完整功能,包括任务和资源管理、报告和变更控制。 这款软件可以与ConceptDraw office集成,利用思维导图和数据可视化的强大功能来改进项目…...

Kafka-Java二:Spring实现kafka消息发送的ack机制

写在前面 如果只有一个kafka实例的话,那么文章中提到kafka集群kafka实例 一、什么是消息发送者端的ack机制 ack机制:消息确认发送成功的标识 由谁发起该标识:kafka集群 发起该标识的场景:kafka集群确认已经收到了消息。 由谁接收…...