源码编译mysql 5.5+ 安装过程全记录

前言:从mysql 5.5版本开始,mysql源码安装开始使用cmake了,编译安装跟以前的版本有点不一样了。

一,安装步骤:

1.安装前准备工作

a.下载mysql源代码包,到mysql下载页面选择MYSQL Community Serve Source Code 版本

注意:不要选择Linux-Generic版本,此版本为已经编译好的二进制版本

b.检查本机Linux是否已安装好make,bison,cmake,gcc-c++,ncurses,如果尚未安装,先安装以上包,安装方法如下:

注意:一般系统都会默认安装有make,gcc-c++.

1.安装make编译器

下载地址:http://www.gnu.org/software/make/

[plain] view plaincopy

  1. # tar zxvf make-3.82.tar.gz
  2. # cd make-3.82
  3. # ./configure
  4. # make
  5. # make install

也可用:yum install make.i686 安装此包

2.安装bison

下载地址:http://www.gnu.org/software/bison/

[plain] view plaincopy

  1. <span style="font-size:13px;"># tar zxvf bison-2.5.tar.gz
  2. # cd bison-2.5
  3. # ./configure
  4. # make
  5. # make install </span>

也可用:yum install bison.i686 安装此包

3.安装gcc-c++

下载地址:http://www.gnu.org/software/gcc

[plain] view plaincopy

  1. # tar zxvf gcc-c++-4.4.4.tar.gz
  2. # cd gcc-c++-4.4.4
  3. # ./configure
  4. # make
  5. # make install

也可用:yum install gcc-c++.i686 安装此包

4.安装cmake

下载地址:http://www.cmake.org/

[plain] view plaincopy

  1. # tar zxvf cmake-2.8.4.tar.gz
  2. # cd cmake-2.8.4
  3. # ./configure
  4. # make
  5. # make install

也可用:yum install  cmake.i686 安装此包

5.安装ncurses

下载地址:http://www.gnu.org/software/ncurses/

[plain] view plaincopy

  1. # tar zxvf ncurses-5.8.tar.gz
  2. # cd ncurses-5.8
  3. # ./configure
  4. # make
  5. # make install

也可用:yum install ncurses.i686 安装此包

2.添加mysql用户与组

[plain] view plaincopy

  1. #groupadd mysql
  2. #useradd -g mysql -s /sbin/nologin -M mysql

3.mysql的源码编译

[plain] view plaincopy

  1. #tar zxvf mysql-5.5.13.tar.gz
  2. #cd mysql-5.5.13
  3. #rm CMakeCache.txt
  4. #cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/  -DMYSQL_DATADIR=/usr/local/mysql55/data  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DMYSQL_TCP_PORT=3306  -DMYSQL_UNIX_ADDR=/usr/local/mysql55/data/mysql.sock  -DMYSQL_USER=mysql  -DWITH_DEBUG=0
  5. #make
  6. #make install

4.编译完成后,安装数据库

[plain] view plaincopy

  1. # cd /usr/local/mysql
  2. # chown -R mysql .
  3. # chgrp -R mysql .
  4. # scripts/mysql_install_db --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  5. # chown -R root .
  6. # chown -R mysql ./data

某次安装完数据库完后,启动不了数据库,查看日志显示:Can‘t open the mysql.plugin table...2009-06-01 00:52Can‘t open the mysql.plugin table. Please run mysql_upgrade to create it.

解决方法:重新执行数据库安装过程,并带上

[html] view plaincopy

  1. --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

于是搞定

5.下面的命令是可选的,将mysql的配置文件拷贝到/etc

cp support-files/my-medium.cnf /etc/my.cnf

如果原来的/etc目录下有my.cnf文件,则一定要用编译安装的my.cnf替换掉系统默认的my..cnf,否则会报如下错误:

[html] view plaincopy

  1. /usr/local/mysql/bin/mysqld: Table ‘mysql.plugin‘ doesn‘t exist
  2. 120406 23:57:45 [ERROR] Can‘t open the mysql.plugin table. Please run mysql_upgrade to create it.
  3. 120406 23:57:45 InnoDB: The InnoDB memory heap is disabled
  4. 120406 23:57:45 InnoDB: Mutexes and rw_locks use GCC atomic builtins
  5. 120406 23:57:45 InnoDB: Compressed tables use zlib 1.2.3
  6. 120406 23:57:45 InnoDB: Initializing buffer pool, size = 128.0M
  7. 120406 23:57:45 InnoDB: Completed initialization of buffer pool
  8. InnoDB: The first specified data file ./ibdata1 did not exist:
  9. InnoDB: a new database to be created!
  10. 120406 23:57:45  InnoDB: Setting file ./ibdata1 size to 10 MB
  11. InnoDB: Database physically writes the file full: wait...
  12. 120406 23:57:45  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
  13. InnoDB: Setting log file ./ib_logfile0 size to 5 MB
  14. InnoDB: Database physically writes the file full: wait...
  15. 120406 23:57:45  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
  16. InnoDB: Setting log file ./ib_logfile1 size to 5 MB
  17. InnoDB: Database physically writes the file full: wait...
  18. InnoDB: Doublewrite buffer not found: creating new
  19. InnoDB: Doublewrite buffer created
  20. InnoDB: 127 rollback segment(s) active.
  21. InnoDB: Creating foreign key constraint system tables
  22. InnoDB: Foreign key constraint system tables created
  23. 120406 23:57:46  InnoDB: Waiting for the background threads to start
  24. 120406 23:57:47 InnoDB: 1.1.8 started; log sequence number 0
  25. 120406 23:57:47 [ERROR] /usr/local/mysql/bin/mysqld: Can‘t create/write to file ‘/var/run/mysqld/mysqld.pid‘ (Errcode: 2)
  26. 120406 23:57:47 [ERROR] Can‘t start server: can‘t create PID file: No such file or directory
  27. 120406 23:57:47 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

6.启动mysql:

[plain] view plaincopy

  1. # bin/mysqld_safe --user=mysql &
  2. # #启动mysql,看是否成功
  3. # netstat -tnl|grep 3306
  4. # 或者
  5. # ps -aux|grep ‘mysql‘

可选步骤:设置root 密码:

/usr/local/mysql/bin/mysqladmin -u root password ‘new-password‘
/usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password ‘new-password‘

此步骤需要在数据库启动之后才能执行成功

7.配置自启动

[plain] view plaincopy

  1. # cp support-files/mysql.server /etc/init.d/mysqld
  2. # chmod +x /etc/init.d/mysqld
  3. # chkconfig –add mysqld

或者这样启动:

[plain] view plaincopy

  1. # #将mysql的启动服务添加到系统服务中
  2. # cp support-files/mysql.server /etc/init.d/mysql.server
  3. # #现在可以使用下面的命令启动mysql
  4. # service mysql.server start
  5. # #停止mysql服务
  6. # service mysql.server stop
  7. # #重启mysql服务
  8. # service mysql.server restart

8

为了方便,将mysql 的bin目录加到PATH中
export PATH=/usr/local/mysql/bin:$PATH

附:

关于重新编译问题:

Dealing with Problems Compiling MySQL

The solution to many problems involves reconfiguring. If you do reconfigure, take note of the following:

  • If CMake is run after it has previously been run,it may use information that was gathered during its previousinvocation. This information is stored inCMakeCache.txt. WhenCMakestarts up, it looks for that file and reads its contents if it exists,on the assumption that the information is still correct. Thatassumption is invalid when you reconfigure.
  • Each time you run CMake, you must run makeagain to recompile. However, you may want to remove old object filesfrom previous builds first because they were compiled using differentconfiguration options.

To prevent old object files or configuration information from being used, run these commands on Unix before re-runningCMake:

shell> make clean
shell> rm CMakeCache.txt

转自:http://blog.csdn.net/aidenliu/article/details/6586610
时间: 2024-08-03 07:56:54

源码编译mysql 5.5+ 安装过程全记录的相关文章

CentOS6.7 Mysql5.6.35版本 源码编译+Mysql数据库忘记root密码如何修改

源码编译MySQL [[email protected] ~]# yum install cmake nucrses-devel –y      //安装编译环境及终端操作的开发包 -- Installed: cmake.x86_64 0:2.8.12.2-4.el6 Dependency Installed: libarchive.x86_64 0:2.8.3-7.el6_8 Complete! 下载软件包 [[email protected] ~]# wget http://ftp.ntu.

内存数据库Timesten安装过程全记录

[[email protected] timesten]# su - tt [[email protected] ~]$ cd /timesten/linux8664/ [[email protected] linux8664]$ ls 3rdparty  doc  install.pl  LINUX8664  README.html  setup.sh  uninst.sh [[email protected] linux8664]$ ./setup.sh WARNING: You are r

源码编译MYSQL遇到的几个小问题

闲来无聊,顺手练习一下好久没碰过的MYSQL,于是决定源码编译安装MYSQL-5.7.11,练习不打紧,出了好多问题,于是乎赶紧在这里总结一下: 先下载的编译器:cmake-2.8.12.2-4.el6.x86_64.rpm   MYSQL源码包:mysql-boost-5.7.11.tar.gz 接下来进行配置,编译,安装三部曲:(区别是我把数据目录单独放在了另外一张虚拟硬盘上-DMYSQL_DATADIR=/mydata/data   -DMYSQL_UNIX_DATA=/mydata/da

北京赛车彩票网站源码下载平台一条龙搭建安装过程详解

1. 系统需求需要最新源码,二次开发的联系202-101-8216=========================================== 1) 操作系统:Windows XP+IIS5.1 / Windows 2003+IIS6.0 / Windows 2008+IIS7.5 2) 数 据 库:SQL Server 2008 / SQL Server 2008 / SQL Server 2008 3) 其 他:FSO(FileSystemObject) 4) 使用Email功能,

[nghttp2]压测工具,源码编译并进行deb打包过程

编译环境:deepin 15.11桌面版 nghttp2下载地址:https://github.com/nghttp2/nghttp2 环境要求 emm只能在类Linux环境才能完整编译,想在Windows里面使用只能编译成dll,再进行引用开发使用,不能直接搞. 构建libnghttp2库需要一下包: pkg-config >= 0.20 要构建和运行单元测试曾想,需要以下包: cunit>=2.1 要构建文档,你需要安装: sphinx(http://sphinx-doc.org) 如果你

源码编译Mysql

环境:CentOS 6.5 [[email protected] software]# yum -y install gcc gcc-c++ [[email protected] software]# tar -zxvf cmake-2.8.5.tar.gz [[email protected] software]# cd cmake-2.8.5 [[email protected] cmake-2.8.5]# ./configure --prefix=/usr/local/cmake ···

源码编译mysql报错解决

 [[email protected]]# cmake 出现以下错误提示: -- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)CMake Error at cmake/readlineNaNake:82(MESSAGE):  Curses library not found.  Pleaseinstall appropriate package, remove CMakeCache.txt andrerun

在CentOS6上编译安装实现LAMP(php-modules)+phpMyAdmin安装过程全记录

php与apache协作有三种模式:CGI.modules.FastCGI. 在CGI模式下,用户请求php文件时,apache会启动响应进程,调用php处理器处理请求,然后将结果返回给客户端.用户响应及处理由前端apache服务器完成: 在modules模式下,php解析器作为apache的一个模块,php处理器与web服务器一起运行处理用户请求.用户响应由apache处理,请求处理由apache与php处理器协同完成: 在fastcgi模式下,apache调用proxcy模块,发挥代理作用,

linux下源码编译安装mysql详解

1.redhat5环境下,首先安装编译环境 yum groupinstall -y  "Development Libraries"   "Development Tools" 2.由于源码编译mysql需要cmake命令,所以先要编译安装cmake包 首先下载cmake包,这里下载使用cmake-2.8.8.tar.gz tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./configure make && mak