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…...
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儿童手表和家庭防火墙等,都在各自的行业有着举足轻重得地位,而这次发布的系列新品,…...
【系统架构设计】 架构核心知识: 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 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数&…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
