主要参考了下面两篇文章

http://forum.ubuntu.org.cn/viewtopic.php?t=330121

http://www.linuxidc.com/Linux/2011-09/42290.htm

1、去mysql官网下载最新的源码,下载页下拉菜单选Source Code->Generic Linux ????.tar.gz

2、更新系统必备的工具

  1. sudo apt-get install build-essential
  2. sudo apt-get install libncurses5-dev
  3. sudo apt-get install sysv-rc-conf
  4. sudo apt-get install cmake

3、解压mysql源码包

  1. tar xvzf mysql-????.tar.gz

4、创建mysql用户组

  1. sudo groupadd mysql
  2. sudo useradd -r -g mysql mysql

5、进入mysql解压后的目录,使用cmake指令编译mysql

  1. cmake . \
  2. -DCMAKE_INSTALL_PREFIX=/usr/mysql \
  3. -DMYSQL_DATADIR=/usr/mysql/data \
  4. -DDEFAULT_CHARSET=utf8 \
  5. -DDEFAULT_COLLATION=utf8_general_ci \
  6. -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
  7. -DWITH_DEBUG=0 \
  8. -DWITH_INNOBASE_STORAGE_ENGINE=1

6、编译安装,使用root比较简单,权限问题很严重

  1. sudo make
  2. sudo make install

7、进入安装厚的目录执行

  1. sudo chown -R mysql .
  2. chgrp -R mysql .
  3. sudo bin/scripts/mysql_install_db \
  4. --user=mysql \
  5. --basedir=/usr/mysql \
  6. --datadir=/usr/mysql/data \
  7. --no-defaults

必须有一个–no-defaults选项,如果没有该选项,则程序会自动载入默认的配置文件

8、配置my.cnf

  1. sudo cp /usr/mysql/support-files/my-medium.cnf /etc/mysql/my.cnf

通常我们是通过脚本传入适当的参数启动mysqld。因此在/etc/mysql/my.cnf中加入如下的内容:

引用:
[mysqld]
basedir=/usr/mysql
datadir=/usr/mysql/data
user=mysql

pid-file = /usr/mysql/mysql.pid

9、复制服务控制文件

  1. sudo cp /usr/mysql/support-files/mysql.server /etc/init.d/mysql

10、建立mysql.pid

  1. cd /usr/mysql/
  2. touch mysql.pid

11、测试mysql运行

  1. sudo service mysql start

或者到目录中运行

  1. sudo /etc/init.d/mysql start

报错的处理什么pid的错误,应该是没有权限造成的,具体错误可以去/usr/mysql/data/xxxx.err中查看

查看方法

  1. tail xxx.err

一般都是permision denied,自己处理一下吧

12、设置开机运行

  1. sudo sysv-rc-conf

该工具采用的是图形界面,很直观在此就不介绍如何使用了,我们需要做的是找到【mysql】一栏,选定【3】【4】【5】这三列,这样就完成了开机自动启动MySQL daemon了。

重启后service mysql status

mysql is running

成功了

【转】Ubuntu编译安装mysql源码的更多相关文章

  1. Linux 环境编译安装mysql (源码安装包)

    标注: Linux需要先配置网络yum源,确定yum能在线安装软件包,方便测试过程中安装部分依赖包.配置163网易提示的网络yum源参考博客  http://www.cnblogs.com/zoulo ...

  2. Linux安装mysql源码

    1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 ...

  3. linux下cmake安装mysql 源码

    1.假设已经有mysql-5.6.21.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 ...

  4. Linux安装mysql——源码安装

    1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 ...

  5. CentOS安装mysql源码包

    1.# cd /usr/local/src 2.上传mysql.tar.gz文件 3.# tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz 4.# ...

  6. Windows+VS2012环境下编译调试MySQL源码 转

    http://m.blog.csdn.net/blog/SnowyWolf/18952643

  7. Linux(CentOS或RadHat)下MySQL源码安装

    安装环境: CentOS6.3 64位 软件: Mysql-5.6 所需包: gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake  :MySQL 5.5开始,使用cmake进 ...

  8. CentOS下编译安装MySQL 5.6.21

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...

  9. ubuntu编译安装opencv

    简易安装opencv2: conda install --channel https://conda.anaconda.org/menpo opencv 或: sudo apt-get install ...

随机推荐

  1. 【斐波那契DP】HDU 4639——HeHe

    题目:点击打开链接 多校练习赛4的简单题,但是比赛的时候想到了推导公式f(n)=f(n-1)+f(n-2)(就是斐波那契数列),最后却没做出来. 首先手写一下he(不是hehe)连续时的规律.0-1 ...

  2. php empty()和isset()的区别<转载>

    在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问 ...

  3. Codeforces Round #200 (Div. 1)D. Water Tree dfs序

    D. Water Tree Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/343/problem/ ...

  4. node.js在windows下的学习笔记(4)---同步,异步,回调的概念

    Node.js是使用事件驱动的,非阻塞的I/O模型,用于构建快速的,可扩展的网络应用程序. Node.js想解决的问题是:处理输入,输入,高并发 1.阻塞与非阻塞 阻塞也叫同步,是指每一次执行一个操作 ...

  5. Jenkins(二)

    官网:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins 我的这篇文章不过简单的依据上文,介绍Jenkins提供了哪些功能.详细大家还是要 ...

  6. To Noob Json是什么鬼?

    转载请注明出处王亟亟的大牛之路 供应商A:那我们数据怎么交互啊?HTTP吧?那内容呢?JSON?XML? 小菜鸟B:JSON什么鬼? 为了菜鸟们避免以上情况楼主写一发JSON的博文,废话不多!開始! ...

  7. iOS快速集成检查更新

    一直以为Appstore有了检查版本是否更新的机制,我们在APP上做这个更新功能会被拒,但是也有看到一些APP也是做了这个更新功能的.因为在网上没有找到完全正确的方法能获取到iTunes里的数据的,于 ...

  8. HttpClient 4.3.* 上传带中文文件名文件文件名乱码问题的解决

    又是折腾了一天才解决的问题,网上关于这个问题的资料不多,希望写出来能帮到有需要的人. 之前无论怎么设置charset都不起作用, 后来看了这篇文章 才发现MultipartEntityBuilder有 ...

  9. JVMInternals--reference

    This article explains the internal architecture of the Java Virtual Machine (JVM). The following dia ...

  10. Overview & Change Log

    Overview & Change Log Nova Framework is a PHP 5.5+ MVC Framework. It's designed to be lightweigh ...