当前位置: 首页 > 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 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数&…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...