1. 源码安装

    ./configure  \ 

    --prefix=/usr/local/mysql \ 
    --localstatedir=/data/mysql/data \    mysql数据目录

    --with-unix-socket-path=/usr/local/mysql/mysql.sock

    --enable-assembler    \ 
    --with-mysqld-ldflags=-rdynamic \ 
    --with-client-ldflags=-all-static \ 
    --with-plugins=innobase,partition \ 
    --with-extra-charsets=none \ 
    --enable-thread-safe-client \

    --with-client-ldflags=-all-static \ 以纯静态方式编译客户端

    --with-mysqld-ldflags=-all-static  以纯静态方式编译服务端

    make && make install

  2. 源码安装,使用cmake 安装,新版MYSQL使用

      安装cmake:

      tar zxvf cmake-2.8.4.tar.gz  
      cd cmake-2.8.4  
      ./configure  --prefix=/usr/local/cmake  
      make && make install 
      

    安装mysql5.5.13

      groupadd mysql              //所以在这里我们要建一个msyql的用户和组  
      useradd -g mysql mysql -s /usr/sbin/nologin  
      mkdir /usr/local/mysql           //创建目录  
      mkdir /usr/local/mysql/data
      进入mysql-5.5.13的解压目录:
      cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql && make && make install
      进入mysql的安装目录/usr/local/mysql下:
      scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql  //初始化mysql数据库
      cp support-files/my-medium.cnf /usr/local/mysql/my.cnf //copy配置文件  
      chown -R mysql:mysql /usr/local/mysql //更改权限     
       vi /usr/local/mysql/my.cnf  //加上以下内容  
      [mysqld]  
      basedir = /usr/local/mysql  
      datadir = /usr/local/mysql/data  
      log-error = /usr/local/mysql/mysql_error.log  
      pid-file = /usr/local/mysql/mysql.pid  
      user = mysql  
      tmpdir          = /tmp 
      启动mysql    bin/mysqld_safe --user=mysql & 或使用下列命令把mysql添加为系统服务。
      cd /usr/local/mysql/support-files/  
      cp ./mysql.server /etc/init.d/mysqld 
      /etc/init.d/mysqld start 

 

      其它cmake 方式

          cmake  .

      -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
      -DDEFAULT_CHARSET=utf8
      -DDEFAULT_COLLATION=utf8_general_ci
      -DWITH_EXTRA_CHARSETS=complex
      -DWITH_INNOBASE_STORAGE_ENGINE=1
      -DWITH_READLINE=1
      -DWITH_SSL=yes
      -DWITH_EMBEDDED_SERVER=1
      -DENABLED_LOCAL_INFILE=1
      -DMYSQL_DATADIR=/data/mysql

 

 

    附:  Mysql CMAKE编译参数详解

  -DCMAKE_INSTALL_PREFIX= 指向mysql安装目录
  -DINSTALL_SBINDIR=sbin 指向可执行文件目录(prefix/sbin)
  -DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)
  -DSYSCONFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)
  -DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目录(prefix/lib/mysql/plugin)
  -DINSTALL_MANDIR=share/man 指向man文档目录(prefix/share/man)
  -DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)
  -DINSTALL_LIBDIR=lib/mysql 指向对象代码库目录(prefix/lib/mysql)
  -DINSTALL_INCLUDEDIR=include/mysql 指向头文件目录(prefix/include/mysql)
  -DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info)
  prefix官方推荐设为/usr
  Storage Engine相关
  类型csv,myisam,myisammrg,heap,innobase,archive,blackhole
  若想启用某个引擎的支持:-DWITH_<ENGINE>_STORAGE_ENGINE=1
  如:
  -DWITH_INNOBASE_STORAGE_ENGINE=1
  -DWITH_ARCHIVE_STORAGE_ENGINE=1
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1
  若想禁用某个引擎的支持:-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
  如:
  -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
  -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
  -DWITHOUT_PARTITION_STORAGE_ENGINE=1
  Library相关
  -DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)
  -DWITH_SSL=system 启用ssl库支持(安全套接层)
  -DWITH_ZLIB=system 启用libz库支持(zib、gzib相关)
  -DWTIH_LIBWRAP=0 禁用libwrap库(实现了通用TCP包装的功能,为网络服务守护进程使用)
  -DMYSQL_TCP_PORT=3306 指定TCP端口为3306
  -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路径
  -DENABLED_LOCAL_INFILE=1 启用本地数据导入支持
  -DEXTRA_CHARSETS=all 启用额外的字符集类型(默认为all)
  -DDEFAULT_CHARSET=utf8 指定默认的字符集为utf8
  -DDEFAULT_COLLATION=utf8_general_ci 设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)
  -DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持
  -DMYSQL_USER=mysql 指定mysql用户(默认为mysql)
  -DWITH_DEBUG=0 禁用debug(默认为禁用)
  -DENABLE_PROFILING=0 禁用Profiling分析(默认为开启)
  -DWITH_COMMENT='string' 一个关于编译环境的描述性注释
  
  
3.二进制安装

    官网下二进制分发版的格式是: mysql-<版本>-<OS>-tar.gz

       #wget

   添加用户和组
   #groupadd mysql
   #useradd -g mysql mysql
   安装mysql到/usr/local/mysql下
   #cd /usr/local
   
   #tar zxvf /{MySQL5.6_path}/mysql-{version}.tar.gz
   
   例如
   #cd /usr/local
   #tar zxvf /root/mysql-5.6.20-linux-glibc2.5-i686.tar.gz
   改解压后文件夹名为 mysql
   #mv mysql-5.6.20-linux-glibc2.5-i686 mysql
   修改mysql的各级文件夹和文件的创建者、创建组为mysql(注意语句后面有个.)
   cd mysql
   chown -R mysql .
   chgrp -R mysql .
   初始化mysql表、test表、infomation表等。
   #scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
   #cp support-files/mysql.server /etc/init.d/mysqld
   启动
   /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
     
   安装需要的包即可:libstdc++.so.6和libaio.so.1和libncurses.so.5
     
   
   修改配置文件
   [root@10-4-5-9 mysql]# cp my.cnf /etc/my.cnf
   [root@10-4-5-9 mysql]# vi /etc/my.cnf
   [mysqld]中添加:
   
   basedir = /usr/local/mysql
   datadir = /usr/local/mysql/data
   port = 3306
   server_id = 1
     
   启动mySQL服务
   
   #ln -s /usr/local/mysql/bin/mysql /usr/bin
   #service mysqld start
     
   登陆MySQL并且删除空用户
   
   mysql> SELECT user,host,password FROM mysql.user;
   +------+-----------+----------+
   | user | host      | password |
   +------+-----------+----------+
   | root | localhost |          |
   | root | 10-4-5-9  |          |
   | root | 127.0.0.1 |          |
   | root | ::1       |          |
   |      | localhost |          |
   |      | 10-4-5-9  |          |
   +------+-----------+----------+
   6 rows in set (0.00 sec)
   
   mysql> UPDATE mysql.user set password = PASSWORD('xxx') WHERE user = 'root';
   
   mysql> DROP USER ;
   
   mysql> FLUSH PRIVILEGES;