环境介绍

cat /etc/redhat-release

uname -a        

安装 lrzsz 软件,这个软件和编译安装 mysql 无关,只是为了方便后面通过 xshell 拖拽其他软件

yum -y install lrzsz

安装 mysql 需要的各种依赖包

yum -y install ncurses-devel libaio-devel

创建 /home/yuci/tools 目录,用于存放各种软件

mkdir -p /home/yuci/tools        

安装 Cmake 软件,mysql 就是通过它编译安装的

cd /home/yuci/tools/

tar zxf cmake-2.8.8.tar.gz

cd cmake-2.8.8

./configure && gmake && gmake install

# 通过 echo $? 检查是否安装成功,返回值为 0,则正确安装。

为 mysql 创建一个同名的伪用户,并检查

useradd -s /sbin/nologin -M mysql

id mysql      

   

编译安装 MySQL

# 在测试安装 mysql 时发现一个问题,通过 open live writer 复制参数编译失败,但是通过网页却编译成功,我觉得肯定时复制粘贴时“-”出了问题。我的参数肯定是没有错的,如果编译过程中出现报错就手工敲一遍,准保没问题。

tar zxf mysql-5.5.23      

cd mysql-5.5.23

####################编译安装参数#########################

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.23 \

-DMYSQL_DATADIR=/application/mysql-5.5.23/data \

-DMYSQL_UNIX_ADDR=/application/mysql-5.5.23/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=gks,gb2312,utf8,ascii \

-DENABLED_LOCAL_INFILE=ON \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FAST_MUTEXES=1 \

-DWITH_ZLIB=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DWITH_DBBUG=0

########################################################    

make && make install

# 通过 echo $? 检查是否安装成功,返回值为 0,则正确安装。

给 mysql 创建一个软连接,方便后面的操作

ln -s /application/mysql-5.5.23/ /application/mysql      

 

 

初始化 mysql

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

给 mysql 目录授权

chown -R mysql:mysql /application/mysql

   

拷贝 MySQL 的配置文件。my.cnf

cp /application/mysql/support-files/my-small.cnf /etc/my.cnf

y

   

mysqld_safe 是 mysql 的启动脚本,默认的 mysql 安装位置是 /usr/local/mysql ,但是我们的安装路径是 /application/mysql,所以需要通过 sed 更改一下

sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysql

尝试启动 mysql 并放入后台执行

/application/mysql/bin/mysqld_safe &

通过 lsof 命令,检查 3306 端口是否启动

lsof –i :3306

 

通过 netstat 命令,再次确认 mysql 已经正常运行

netstat –tlunp

现在 mysql 启动了,但是还需要配置环境变量,才能登陆 mysql

#编辑 /etc/profile 文件,将下面的变量命令写在文件的最后一行即可,然后执行 source 使其生效

vim /etc/profile

PATH="/application/mysql/bin:$PATH"

source /etc/profile

现在尝试在命令行下登录 mysql

mysql

拷贝 mysql 的启动脚本,修改里面的安装路径,添加执行权限,方便 mysql 的重启

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

sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

通过 killall 命令,将 mysql 进程杀死,直到出现 no process killed

killall mysqld

接下来通过刚才拷贝的脚本启动 mysql 服务

/etc/init.d/mysqld start

在通过 lsof,netstat 命令查看 mysql 是否启动

lsof –i :3306

netstat –tlunp

最后给 mysql 管理员设定一个密码

mysqladmin –uroot password “123456”

正常登录 mysql,编译安装完成