Linux源码安装mysql 5.6.12 (cmake编译)

1.安装make编译器(默认系统自带)

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

 

[c-sharp] view plaincopy
 
  1. tar zxvf make-3.82.tar.gz  
  2. cd make-3.82  
  3. ./configure  
  4. make  
  5. make install  
[c-sharp] view plaincopy
 
  1. tar zxvf make-3.82.tar.gz  
  2. cd make-3.82  
  3. ./configure  
  4. make  
  5. make install  

 

2.安装bison(最好在编译LAMP前安装好所有基类软件)

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

 

[c-sharp] view plaincopy
 
  1. tar zxvf bison-2.5.tar.gz  
  2. cd bison-2.5  
  3. ./configure  
  4. make  
  5. make install  
[c-sharp] view plaincopy
 
  1. tar zxvf bison-2.5.tar.gz  
  2. cd bison-2.5  
  3. ./configure  
  4. make  
  5. make install  

 

3.安装gcc-c++

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

 

[c-sharp] 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  
[c-sharp] 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  

 

 

4.安装cmake(请下载最新版本安装)

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

 

[c-sharp] view plaincopy
 
  1. tar zxvf cmake-2.8.4.tar.gz  
  2. cd cmake-2.8.4  
  3. ./configure  
  4. make  
  5. make install  
[c-sharp] view plaincopy
 
  1. tar zxvf cmake-2.8.4.tar.gz  
  2. cd cmake-2.8.4  
  3. ./configure  
  4. make  
  5. make install  

 

5.安装ncurses

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

 

[c-sharp] view plaincopy
 
  1. tar zxvf ncurses-5.8.tar.gz  
  2. cd ncurses-5.8  
  3. ./configure  
  4. make  
  5. make install  
[c-sharp] view plaincopy
 
  1. tar zxvf ncurses-5.8.tar.gz  
  2. cd ncurses-5.8  
  3. ./configure  
  4. make  
  5. make install  

 

 

开始安装MySQL,下载地址:http://dev.mysql.com/

这里我在这里下载的mysql-5.6.12.tar.gz

ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/

准备工作

 

[c-sharp] view plaincopy
 
  1. groupadd mysql  
  2. useradd mysql -g mysql -M -s /sbin/nologin  
    #增加一个名为CentOS Mysql的用户。

    -g:指定新用户所属的用户组(group)

    -M:不建立根目录

    -s:定义其使用的shell,/sbin/nologin代表用户不能登录系统

[c-sharp] view plaincopy
 
  1. groupadd mysql  
  2. useradd -r -g mysql mysql  

 

解压并安装MySQL

 

[c-sharp] view plaincopy
 
  1. tar zxvf mysql-5.6.12.tar.gz  
  2. cd mysql-5.6.12  (以下是一行 这里为了方便大家理解和注释写成换行注释,实际编译中请在换行前 加 " \ "链接)cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   #安装路径
    -DMYSQL_DATADIR=/usr/local/mysql/data       \    #数据文件存放位置
    -DSYSCONFDIR=/etc              \                                  #my.cnf路径
    -DWITH_MYISAM_STORAGE_ENGINE=1    \       #支持MyIASM引擎
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \     #支持InnoDB引擎
    -DWITH_MEMORY_STORAGE_ENGINE=1 \        #支持Memory引擎
    -DWITH_READLINE=1                    \                         #快捷键功能(我没用过)
    -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock      \   #连接数据库socket路径
    -DMYSQL_TCP_PORT=3306                  \               #端口
    -DENABLED_LOCAL_INFILE=1            \                #允许从本地导入数据
    -DWITH_PARTITION_STORAGE_ENGINE=1  \   #安装支持数据库分区
    -DEXTRA_CHARSETS=all                  \                   #安装所有的字符集
    -DDEFAULT_CHARSET=utf8              \                   #默认字符
    -DDEFAULT_COLLATION=utf8_general_ci


  3. make  
  4. make install  

 

完成后,继续下面的操作

 

[c-sharp] view plaincopy
 
  1. cd /usr/local/mysql  
  2. chown -R mysql:mysql . (为了安全安装完成后请修改权限给root用户)
  3. scripts/mysql_install_db --user=mysql (先进行这一步再做如下权限的修改)
  4. chown -R root:mysql .  (将权限设置给root用户,并设置给mysql组, 取消其他用户的读写执行权限,仅留给mysql "rx"读执行权限,其他用户无任何权限)
  5. chown -R mysql:mysql ./data   (给数据库存放目录设置成mysql用户mysql组,并赋予chmod -R ug+rwx  读写执行权限,其他用户权限一律删除仅给mysql用户权限)
[c-sharp] view plaincopy
 
  1. cd /usr/local/mysql  
  2. chown -R mysql .  
  3. chgrp -R mysql .  
  4. scripts/mysql_install_db --user=mysql  
  5. chown -R root .  

 

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

 

[c-sharp] view plaincopy
 
  1. cp support-files/my-medium.cnf /etc/my.cnf  (原始老版本是此操作,5.6.12版本的是如下文件地址)
  2. cp support-files/my-default.cnf  /etc/my.cnf  (并给/etc/my.cnf +x权限 同时删除 其他用户的写权限,仅仅留给root 和工作组 rx权限,其他一律删除连rx权限都删除)
[c-sharp] view plaincopy
 
  1. cp support-files/my-medium.cnf /etc/my.cnf  

 

 

#修改my.cnf配置
    vim /etc/my.cnf
      
    #[mysqld] 添加:
    datadir=/data/mysql
    default-storage-engine=MyISAM

 

 


启动mysql:

 

[c-sharp] view plaincopy
 
  1. bin/mysqld_safe --user=mysql &  
  2. #启动mysql,看是否成功  
  3. netstat -tnl|grep 3306  
[c-sharp] view plaincopy
 
  1. bin/mysqld_safe --user=mysql &  
  2. #启动mysql,看是否成功  
  3. netstat -tnl|grep 3306  

 

上面是一种启动mysql的方法,还有一种简单的方便,如下:

 

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

 

将mysql服务添加到开机启动项,让mysql服务开机启动

[c-sharp] view plaincopy
 
  1. chkconfig --add mysql

修改默认root账户密码,默认密码为空

修改密码 cd 切换到mysql所在目录 

cd /usr/local/mysql 

#./bin/mysqladmin -u root password 

回车在接下来的提示中设置新密码即可。。

 

  #启动MySQL
    /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf &
    #或者
    /etc/init.d/mysql start (service mysql start)
      
    #测试MySQL是否启动
    # 1)查看是否有进程mysql
    ps -ef | grep mysql
    # 2)查看端口是否运行
    netstat -tnl | grep 3306
    # 3)读取mysql版本信息
    mysqladmin version

 

 

编译mysql5
代码:

./configure \
–prefix=/usr/local/mysql \
–localstatedir=/usr/local/mysql/data \
–with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock \
–with-extra-charsets=all \
–with-charset=utf8 \
–with-client-ldflags=-all-static \
–with-mysqld-ldflags=-all-static \
–with-plugins=all \
–with-pthread \
–enable-thread-safe-client

groupadd mysql
useradd -g mysql mysql

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

在my.cnf里增加user=mysql
代码:

cd /usr/local/mysql
bin/mysql_install_db –user=mysql
chown -R root . ; chown -R mysql data ;chgrp -R mysql .
bin/mysqld_safe –user=mysql &
mysqladmin -uroot password ‘new-password’

启动mysql:
代码:

/usr/local/mysql/bin/mysqld_safe &

关闭mysql:
代码:

/usr/local/mysql/bin/mysqladmin shutdown

代码:

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

可以使用server mysqld restart启动

debian下安装mysql的注意事项–innodb
如果从源代码编译安装mysql,缺省安装时,是没有innodb引擎的.所以,在configure的时候,要加入–with- plugins=all(或者max),这样才会支持innodb.在mysql里可以执行show engines命令来查看当前的mysql服务器所支持的存储引擎.

http://www.mysqlperformanceblog.com/…iled-mysql-51/

多线程支持方面只要注意选择–with-pthread和–enable-thread-safe-client选项就可以了。第一项可以指明使用 posix线程(unix的编译方式可能会有些不一样,因为unix的内核线程工作方式与linux线程工作方式有比较大的区别,尤其freebsd)。

my-small.cnf 最小配置安装,内存<=64M,数据数量最少
my-large.cnf 内存=512M
my-medium.cnf 32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-huge.cnf 1G<内存<2G,服务器主要运行mysql
my-innodb-heavy-4G.cnf 最大配置安装,内存至少4G

代码:

delete from mysql.user where User=”;
delete from mysql.user where Host=’127.0.0.1′;
delete from mysql.user where Host=’localhost.localdomain’;
update user set Host=’%‘;

mysql 操作:

查看mysql状态:
/etc/rc.d/init.d/mysqld status

开启mysql
service mysqld start

Linux源码安装mysql 5.6.12 (cmake编译),古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。