mysql编译安装原理_MySQL编译安装全过程

环境介绍

cat /etc/redhat-release

uname -a

36c3cb16df7a18a5f1e7caac8ac226c9.png

安装 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

227f77bf3db01bbcb909c66bb4278247.png

编译安装 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

bd1e79dacc13900c6660379f05487b1b.png

初始化 mysql

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

5c0929b948d0ed13f2b587b2f2ae6e53.png

给 mysql 目录授权

chown -R mysql:mysql /application/mysql

02dfc16cff689dd3b306d469cb36fd2a.png

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

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

y

ae08c4792e52efb679ab38f7d69862a5.png

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

b8f74ed2939cdd9f7f53b6acc230318e.png

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

netstat –tlunp

19ef4a55fae6a1ed42cff0fac3baa798.png

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

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

vim /etc/profile

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

source /etc/profile

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

mysql

e131232935b09b562d59e0e62d359bda.png

拷贝 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

1d790554035462fccf89dc6a66f4440d.png

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

/etc/init.d/mysqld start

f3102357ed9d1772aa65eb6b9daa39bc.png

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

lsof –i :3306

netstat –tlunp

8775fa686811e708efb17372208737f6.png

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

mysqladmin –uroot password “123456”

99900464eafbe095641b3541388610cb.png

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

0dd779db51eeca664bb48d21e2917b9e.png

本文转自   mlwzby   51CTO博客,原文链接:http://blog.51cto.com/aby028/1894032

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值