实验环境:CentOS6.5

版本:mysql-5.1.62.tar.gz

依赖包:ncurses-devel、gcc、gcc-c++


1.建立mysql用户mysql组,为程序运行提供用户账号

  groupadd -r mysql

  useradd -r -s /bin/nologin -M -g mysql mysql


2.MySQL的编译安装

./configure \
--prefix=/usr/local/mysql \#MySQL安装位置
--datadir=/mydata/data \#指定mysql的data存储位置
--enable-assembler \#使用汇编模式
--with-extra-charsets=complex \#附加的字符集
--enable-thread-safe-client \#让客户端支持线程
--with-big-tables \#启用32位平台对4G大表的支持
--with-readline \
--with-ssl \#启用SSL支持
--with-embedded-server \#构建嵌入MySQL库
--enable-local-infile \#启用对LOAD DATA LOCAL INFILE语句的支持
--with-unix-socket-path=/tmp/mysql.sock \#sock文件的位置
--with-plugins=innobase #默认存储引擎

make && make install


3.为mysql提供主配置文件:

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

  并修改此文件中thread_concurrency的值为你的CPU个数乘以2

  另外还需要添加如下行指定mysql数据文件的存放位置:

  datadir = /mydata/data


4.初始化数据库

mysql_install_db --user=mysql --datadir=/mydata/data 


5.为mysql提供sysv服务脚本:

  cp support-files/mysql.server  /etc/rc.d/init.d/mysqld


添加至服务列表:

# chkconfig --add mysqld

# chkconfig mysqld on


6.输出mysql的man手册至man命令的查找路径:


编辑/etc/man.config,添加如下行即可:

MANPATH  /usr/local/mysql/man


7.输出mysql的头文件至系统头文件路径/usr/include:

  这可以通过简单的创建链接实现:

  ln -sv /usr/local/mysql/include  /usr/include/mysql


8.输出mysql的库文件给系统库查找路径:

  echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf

  而后让系统重新载入系统库:

  ldconfig


9.修改PATH环境变量,让系统可以直接使用mysql的相关命令。具体实现过程这里不再给出。

  修改/root/.bash_profile   (使用的是root用户登录的)

  PATH=$PATH:/usr/local/mysql/sbin/


注:如下总结安装中出现的问题

  1. 如下为缺少ncurses-devel包,安装此包即可解决

    wKiom1UxI5PiZ7h6AACiSeTGMGg008.jpg

2. 如下为缺少gcc-c++包,安装即可解决

    wKioL1UxJRiwwFtfAADDrUBJqGU316.jpg