mysql-5.5.38_MySQL-5.5.38通用二进制安装

1、系统环境:CentOS 6.5_x86

2、mysql-5.5.38-linux2.6-i686.tar.gz

MySQL 二进制分发版的文件名格式为 mysql-VERSION-OS.tar.gz,其中 VERSION 是版本号(例如,5.1.51),OS表示分发版安装的操作系统类型(例如,linux-i686)。

为什么要使用通用二进制包?

由于经常要安装MySQL做测试用,一般都是采用源码方式安装的,但是由于源码安装需要编译很长时间,虽然源码编译性能较好,但是我们完全可以通过配置文件来调整。并且源码方式严重依赖操作系统环境。

而且通用二进制包可以很容易的移植,而且官方也做了相应的优化选项。所以我推荐使用通用二进制包安装MySQL。

如果使用二进制安装升级怎么进行?

升级获取的还是二进制压缩包。在安装的时候,我们就创建一个链接,那么,升级时直接将指向目录切换到新的MySQL目录即可。

安装过程?

1、创建mysql用户和组[root@localhost ~]# groupadd -r mysql

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

2、创建mysql的数据存放目录(建议独立分区,且为逻辑卷)

这里,我直接偷懒了,在/mydata/data作为数据目录:[root@localhost ~]# mkdir -pv /mydata/data

由于此目录mysql用户需要进行读写,所以我们把属主、属组改为mysql

[root@localhost ~]# chown -R mysql:mysql /mydata/data

3、解压

通常,按照惯例,我们习惯于解压到/usr/local/src目录[root@localhost ~]# tar xf mysql-5.5.38-linux2.6-i686.tar.gz  -C /usr/local/src

# 为了方便升级,我们创建一个软链接, 下次升级的时候, 重新创建此链接即可

[root@localhost ~]# cd /usr/local

[root@localhost local]# ln -sv src/mysql-5.5.38-linux2.6-i686 mysql

`mysql' -> `src/mysql-5.5.38-linux2.6-i686'

其实这一步就是为了提供一种快捷操作的方式。其实不建立软连接也是可以用的,为什么要这样做?

升级管理有用:新版本单独建立一个目录存放的。假如你升级mysql了。只要将这个软连接指向的目录修改即可。

4、初始化数据库[root@localhost local]# cd /usr/local/mysql

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

# --basedir    指定mysql基目录

# --datadir    指定数据目录

# --user       指定用户

这一个步骤非常关键。如果不成功,请检查上面是否有错误或漏掉的操作。

为了安全性,我们把Mysql程序的目录属主、属组改为root:root[root@localhost mysql]# chown -R root:root /usr/local/src/mysql-5.5.38-linux2.6-i686/

5、拷贝Mysql服务启动脚本以及配置文件# 拷贝服务启动脚本

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

# 加入sysV

[root@localhost mysql]# chkconfig --add mysqld

# 开机启动

[root@localhost mysql]# chkconfig mysqld on

# 拷贝配置文件

[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf

6、启动服务[root@localhost etc]# service mysqld start

Starting MySQL...... SUCCESS!

[root@localhost etc]# netstat -tulpn | grep 3306

tcp     0    0 0.0.0.0:3306            0.0.0.0:*             LISTEN      3834/mysqld

# OK, 我们看到mysqld监听在 3306 端口上

7、把mysql的bin目录加入到PATH[root@localhost ~]# vim /etc/profile.d/mysql.sh

# 增加下面的一行

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

[root@localhost ~]# . /etc/profile.d/mysql.sh

# 做一些简单安全设置,根据提示,选择[Y/n]

[root@localhost mysql]# /usr/local/mysql/bin/mysql_secure_installation

8、进行一些配置

修改MANPATH让man命令可以找到mysql帮助文档# vim /etc/man.config

#添加以下内容

MANPATH /usr/local/mysql/man

添加头文件# ln -sv /usr/local/mysql/include /usr/include/mysql

`/usr/include/mysql' -> `/usr/local/mysql/include’

添加库文件#vim /etc/ld.so.conf.d/mysql.conf

#添加以下内容

/usr/local/mysql/lib

重新生效# ldconfig -v | grep mysql

9、使用TCMalloc为mysql加速

今天才发现在MySQL提供的二进制包里,已经包含了libtcmalloc.so,以前都不知道 (-__-)b[root@localhost lib]# pwd

/usr/local/mysql/lib

[root@localhost lib]# ls | grep libtcmal

libtcmalloc_minimal.so

# 编辑mysqld_safe文件

[root@localhost bin]# vi /usr/local/mysql/bin/mysqld_safe

# 添加下面这一行

export LD_PRELOAD="/usr/local/mysql/lib/libtcmalloc_minimal.so"

# 重启mysql服务

[root@localhost ~]# service mysqld restart

Shutting down MySQL.. SUCCESS!

Starting MySQL... SUCCESS!

[root@localhost bin]# lsof -n | grep -i tcma

mysqld    4793   mysql  mem       REG        8,2   888700      14655 /usr/local/src/mysql-5.5.38-linux2.6-i686/lib/libtcmalloc_minimal.so

知识充电:

ldconfig命令的作用是:

ldconfig creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories (/lib and /usr/lib). The cache is used by the run-time linker, ld.so or ld-linux.so. ldconfig checks the header and filenames of the libraries it encounters when determining which versions should have their links updated.

ldconfig几个需要注意的地方!

1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到

2. 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到

比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就 需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程 序运行时被找到。

3. 如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变 量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时 候使用。

4. ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了。

5. 总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值