MySQL 源码包安装

一 RPM安装包卸载
1, 检查是否有安装MySQL
[root@localhost ~]# rpm -qa | grep mysql
mysql-devel-5.1.73-3.el6_5.x86_64
php-mysql-5.3.3-27.el6_5.x86_64
mysql-5.1.73-3.el6_5.x86_64
mysql-libs-5.1.73-3.el6_5.x86_64
mysql-server-5.1.73-3.el6_5.x86_64

检测到MySQL相关的安装包有5个

2, 执行rpm -e 卸载 (--nodeps)
[root@localhost ~]# rpm -e mysql-devel
[root@localhost ~]# rpm -e php-mysql
[root@localhost ~]# rpm -e mysql
[root@localhost ~]# rpm -e mysql mysql-server
如果为x64系统,执行下面命令卸载
{root@localhost Server]# rpm -e mysql --allmatches --nodeps
3, 删除my.cnf
[root@localhost ~]# rm -rf /etc/my.cnf


二,安装MySQL

1, 安装cmake
[root@localhost ~]# tar xvf cmake-3.0.0.tar.gz
[root@localhost ~]# cd cmake-3.0.0
[root@localhost cmake-3.0.0]# ./configure
-- Looking for elf.h
-- Looking for elf.h - found
-- Looking for a Fortran compiler
-- Looking for a Fortran compiler - NOTFOUND
-- Performing Test run_pic_test
-- Performing Test run_pic_test - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /root/cmake-3.0.0
---------------------------------------------
CMake has bootstrapped.  Now run gmake.
看到上面提示表示编译完成,执行make

[root@localhost cmake-3.0.0]# make && make install

 

2, 创建mysql的安装目录及数据存放目录
[root@localhost ~]# mkdir -p /opt/mysql                   //安装mysql
[root@localhost ~]# mkdir -p /opt/mysql/data              //存放数据

3 创建mysql用户及用户组
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql

4 赋予数据存放目录权限
chown mysql:mysql -R /opt/mysql/data
 
5 编译安装mysql
[root@localhost ~]# tar xvf mysql-5.6.19.tar.gz
[root@localhost ~]# cd mysql-5.6.19
[root@localhost ~]# cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \
  -DSYSCONFDIR=/opt/mysql/etc \
  -DMYSQL_DATADIR=/opt/mysql/data \
  -DMYSQL_TCP_PORT=3306 \
  -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
  -DWITH_EXTRA_CHARSETS=all \
  -DWITH_SSL=bundled \
  -DWITH_EMBEDDED_SERVER=1 \
  -DENABLED_LOCAL_INFILE=1 \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DDEFAULT_CHARSET=utf8 \
  -DDEFAULT_COLLATION=utf8_general_ci
 
参数说明:
 CMAKE_INSTALL_PREFIX : MySQL安装目录
 SYSCONFDIR : 配置文件目录
 MYSQL_DATADIR :数据库目录
 MYSQL_TCP_PORT :数据库端口
 MYSQL_UNIX_ADDR :安排个目录放mysql.sock文件,可以设置为日志存放,data存放目录等位置
 WITH_EXTRA_CHARSETS : 字符
 WITH_SSL       :the type of SSL
 WITH_EMBEDDED_SERVER :Whether to build embedded server (默认:OFF)
 ENABLED_LOCAL_INFILE :Whether to enable LOCAL for LOAD DATA INFILE(默认:OFF)  允许从本地导入数据
 WITH_INNOBASE_STORAGE_ENGINE:  1

参数详细见:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
 
编译时如果报下面错误   
-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE):
  Curses library not found.  Please install appropriate package,

      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
  cmake/readline.cmake:128 (FIND_CURSES)
  cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
  CMakeLists.txt:417 (MYSQL_CHECK_EDITLINE)
 
挂载光盘安装 ncurses-devel
[root@localhost Server]# rpm -ivh ncurses-devel-5.5-24.20060715.x86_64.rpm
warning: ncurses-devel-5.5-24.20060715.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:ncurses-devel          ########################################### [100%]
[root@localhost Server]#  

删除CMakeCache.txt重新编译
[root@localhost]# rm -rf CMakeCache.txt

[root@localhost]# make && make install

6 初始化MySQL
 [root@localhost mysql]# cd /opt/mysql
 [root@localhost mysql]# mkdir etc
 [root@localhost mysql]# mkdir log
 [root@localhost mysql]#  chown -R mysql .
 [root@localhost mysql]# chgrp -R mysql .
 [root@localhost mysql]# scripts/mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/

[root@localhost mysql]# chown -R root .
 [root@localhost mysql]# chown -R mysql data
 [root@localhost mysql]#  bin/mysqld_safe --user=mysql &

7 配置数据库
 修改密码:
[root@localhost mysql]# bin/mysqladmin -u root password 'mysql'
[root@localhost mysql]# cp support-files/mysqld /etc/init.d/mysqld
[root@localhost mysql]# cp support-files/my-default.cnf  etc/my.cnf

编辑etc/my.cnf,在[mysqld]下增加lower_case_table_names=1
设置环境变量
[root@localhost etc]# cd /etc
[root@localhost etc]# vi profile
在文件最后增加:
PATH=/opt/mysql/bin:/opt/mysql/lib:$PATH
export PATH

8 设置MySQL自动启动
[root@localhost mysql]# chkconfig --level 35 mysqld on
 [root@localhost mysql]# chkconfig | grep mysql
 mysqld    0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

你可能感兴趣的:(mysql,安装,源码包)