编译安装mysql-5.5.11

编译安装mysql-5.5.11

mysql5.5以上的版本采用的是cmake编译安装,不在采用之前gnu autotools 工具的 ./configure make make install编译安装了。

Cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,比如针对不同的平台编译。

 

一.编译环境的准备

 

安装所需要系统库相关库文件

gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

 

源码包:

cmake-2.8.10.2.tar.gz  mysql-5.5.11.tar.gz

 

源码包地址:

http://pan.baidu.com/s/1eQwGXVW

 

二.编译安装cmake

[root@mysql MASQL]# tar -zxvf cmake-2.8.10.2.tar.gz

[root@mysql MASQL]# cd cmake-2.8.10.2

[root@mysql cmake-2.8.10.2]# ./bootstrap

[root@mysql cmake-2.8.10.2]# make && make install

 

三.编译安装mysql

1.创建mysql安装目录

[root@mysql cmake-2.8.10.2]# make /usr/local/mysql

 

2.创建数据存放目录

Mysql的数据目录应该放在一个独立的lv上】

[root@mysql MASQL]# mkdir -p /data/mysql

 

3.创建用户和用户组与赋予数据存放目录权限

[root@mysql MASQL]# groupadd -r mysql

[root@mysql MASQL]# useradd -r -g mysql -s /sbin/nologin mysql

[root@mysql MASQL]# chown mysql.mysql /data/mysql/

 

4.编译安装mysql-5.5.11

[root@mysql MASQL]# tar -zxvf mysql-5.5.11.tar.gz

[root@mysql MASQL]# cd mysql-5.5.11

[root@mysql mysql-5.5.11]# cmake -DCMAKE_INSTALL_PREFIX=/usr/loca l/mysql \

> -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \

> -DDEFAULT_CHARSET=utf8 \

> -DDEFAULT_COLLATION=utf8_general_ci \

> -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

> -DWITH_MYISAM_STORAGE_ENGINE=1 \

> -DWITH_INNOBASE_STORAGE_ENGINE=1 \

> -DWITH_MEMORY_STORAGE_ENGINE=1 \

> -DWITH_READLINE=1 \

> -DENABLED_LOCAL_INFILE=1 \

> -DMYSQL_DATADIR=/data/mysql \

> -DMYSQL_USER=mysql \

> -DMYSQL_TCP_PORT=3306

 

[root@mysql mysql-5.5.11]# make

[root@mysql mysql-5.5.11]# make install

 

[以下是对配置参数的详细解释,这里介绍的比我配置的要多,大家在配置的时候根据需要添加]

 cmake -DCMAKE_INSTALL_PREFIX=/usr/loca l/mysql \

指定camke编译软件的安装路径

> -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \

指定cmake编译软件的默认套接字文件路径

> -DDEFAULT_CHARSET=utf8 \

指定默认的字符集为utf8

> -DDEFAULT_COLLATION=utf8_general_ci \

指定默认的排序规则

> -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

> -DWITH_MYISAM_STORAGE_ENGINE=1 \

> -DWITH_INNOBASE_STORAGE_ENGINE=1 \

> -DWITH_MEMORY_STORAGE_ENGINE=1 \

> -DWITH_READLINE=1 \

> -DENABLED_LOCAL_INFILE=1 \

启用LOCAL_INFILE

> -DMYSQL_DATADIR=/data/mysql \

指定cmake编译软件的数据安装路径

>-DSYSCONFDIR=/usr/local/mysql

指定cmake编译软件的配置文件路径

> -DMYSQL_USER=mysql \

> -DMYSQL_TCP_PORT=3306

指定camke编译软件的默认端口

>-DWITH_DEBUG=0

表示不启用DEBUG功能

>-DENABLE_PROFILING=1

表示启用PROFILING功能,PROFILING表示性能分析

 

5.复制配置文件并且增加一些内容

[root@mysql mysql-5.5.11]# cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

support-files下面有这样四个文件,根据你机器的内存大小可以选择复制哪一个文件,由大到小依次为:

my-huge.cnf  my-large.cnf   my-medium.cnf  my-small.cnf

通常复制my-medium.cnf即可

#如果你的机器的内存较大,可以复制My-huge.cnf文件

vim /usr/local/mysql/my.cnf 

[mysqld]这个模块中添加以下两行,其实主要是添加第二行【数据文件存储路径】

basedir=/usr/local/mysql

datadir=/data/mysql/

 

6.初始化数据库

(执行前 需要chmod 755 scripts/mysql_install_db 赋给文件执行权限)

[root@mysql mysql-5.5.11]# scripts/mysql_install_db  --user=mysql  --basedir=/usr/local/mysql --datadir=/data/mysql/

注:#basedir mysql安装路径 datadir 数据库文件储存路径

 

7.设置mysqld的开机启动:

[root@mysql mysql-5.5.11]# cp support-files/mysql.server /etc/init.d/mysql

[root@mysql mysql-5.5.11]# chmod 755 /etc/init.d/mysql 

[root@mysql mysql-5.5.11]# chkconfig mysql on

 

8.配置环境

为了方便,将mysql bin目录加到PATH中,在/etc/profile中加入myslq/bin

export PATH=/usr/local/mysql/bin:$PATH

[root@mysql mysql-5.5.11]# source /etc/profile  [这一步别忘了哦,否则系统还是不能识别你新增加的环境变量]

 

9启动mysql服务

[root@mysql mysql-5.5.11]# /etc/init.d/mysql start

Starting MySQL.... SUCCESS! 

 

如果你在启动服务的时候出现了以下报错:

[root@mysql mysql-5.5.11]# /etc/init.d/mysql start

Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/mysql.pid).

解决办法:

vim /usr/local/mysql/my.cnf 

[mysqld]这个模块中添加以下两行,其实主要是添加第二行【数据文件存储路径】

basedir=/usr/local/mysql

datadir=/data/mysql/

 

启动完成之后用ps -ef |grep mysql 命令查看是否启动

 

[root@mysql mysql-5.5.11]# mysql -u root -p

Enter password: 

【直接回车,因为此时root用户是没有密码的,若登录到mysql服务器证明一切配置ok

 

标准的mysql服务配置

1.设置root帐户的密码

[root@mysql mysql-5.5.11]# mysqladmin -u root password 'mysqlroot'

 

2.删除本机匿名连接的空密码帐号

【删除原因:mysql默认安装完成后一般会生成五个用户,三个root 两个匿名用户

rootroot@127.0.0.1 root@localhost root@hostname  匿名:@localhost @hostname,而且这些用户是不需要密码就可以登录mysql服务器的,这对于mysql服务器是及其不安全的】

 

本机登录mysql

[root@mysql mysql-5.5.11]# mysql -u root -p 

然后输入上面设置的密码,登录后在mysql的命令行中执行:

mysql> use mysql;         //选择默认数据库mysql

mysql> update user set password='root' where user = '127.0.0.1';

mysql> delete from user where password="";

mysql> flush privileges;

mysql> quit

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值