欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

linux上源码安装MySQL详解_MySQL

程序员文章站 2022-05-08 19:42:02
...
最近需要使用MySQL Fabric,这货是MySQL5.6.10之后才出现的utility。手头机器装的是MySQL5.1,所以需要先把旧版MySQL升级成5.6版本。之前没有玩过MySQL,所以这次稍微费了点事。在此,把过程记录下来,希望能给有需求的人提供一点帮助。下面我们就正式开始。

1. 删除老版本MySQL

其实删除老版MySQL是一件很简单的事,但是开始时候由于担心各个包的依赖会导致各种问题,亦步亦趋来得很慢。其实只需要做到这么几步就可以了:

1.1 查看已安装的mysql版本并删除

查看已安装的mysql版本:rpm -qa | grep -i mysql

只要将client/server两个rpm包卸载就可以,过程中可能会提示某个包的依赖,加上--nodeps即可。

1.2 删除数据文件

删除/etc/my.cnf以及安装目录/usr/local/mysql/(该目录位置是安装时指定的)下的数据文件。 rm -r /etc/my.cnf rm -rf /usr/local/mysql

1.3 查看当前是否有mysql在运行

这一步经常会被忽视掉,所以需要稍微注意下。若有则kill掉。使用命令:ps -fe | grep mysql查看。
经过上面的三个步骤,基本就可以把旧版mysql卸载掉了。其他遗留部分在后续安装新版mysql时,会提示有不兼容的情况,到时候再逐个删除即可。

2. 源码安装MySQL5.6

前提一:既然是源码安装,肯定要先下载一份MySQL源码了。这个大家根据自己的需求下载,在此就不赘述了。前提二:安装cmake。MySQL的编译是使用的cmake,所以需要提前安装好。这个过程也很简单,就不说了。上面的准备工作都OK之后,就开始正式安装的过程了。

2.1 编译

与linux上其他的工程一样,MySQL的编译也就是make/make install。

2.1.1 cmake

在代码路径下执行:
cmake ./ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \
-DMYSQL_DATADIR=/usr/local/mysql/data             \
-DSYSCONFDIR=/etc                                 \
-DWITH_MYISAM_STORAGE_ENGINE=1                    \
-DWITH_INNOBASE_STO…
上面的编译参数,有几个在后续的安装过程中需要使用,在此说明一下。其他的可以不用管,直接复制即可。 DCMAKE_INSTALL_PREFIX:MySQL的安装路径,安装完成后就是MySQL的工作路径。
DMYSQL_DATADIR:MySQL的数据文件位置。
DSYSCONFDIR:MySQL的配置文件位置。

2.1.2 make && make install

这个用过linux的都知道吧。。到此,编译的过程就完成了。

2.2 安装

# cd /usr/local/mysql
# chown -R mysql:mysql .
# chown -R mysql:mysql ./data
# scripts/mysql_install_db --defaults-file=/etc/my.cnf
# cp support-files/my-default.cnf /etc/my.cnf
上面这些都是MySQL的配置过程,其中的路径必须和上面cmake的参数保持一致。其中mysql的配置文件/etc/my.cnf需要注意,下面是我的配置文件,基本保持这样就可以了。
[mysql]
socket = /tmp/mysqld.sock

[mysqld]
user = mysql
datadir = /usr/local/mysql/data
port=3306

2.3 启动MySQL

有三种方法可以启动MySQL,分别如下:
方法一:
# bin/mysqld_safe --defaults-file=/etc/my.cnf
方法二:
# bin/mysqld
方法三:
cp support-files/msql.server /etc/init.d/mysql
service mysql start
相信大家对第三种方法更熟悉,使用start|restart|stop来启动/重启/停止一个服务的操作,在linux中使用的十分广泛。我也习惯使用这种方法,但是在使用过程中发现一个情况。使用service mysql start时,如果服务启动失败,基本不会有什么错误log输出,所以想判断是什么原因导致的启动失败就比较困难。这时候推荐使用方法二来启动,它会将错误原因输出,对于勘误难说容易的多。 查看启动是否成功:ps -ef | grep mysql

2.4 修改root密码

# ./bin/mysqladmin -u root password
两遍输入密码即可。修改完密码之后,需要重启一下mysql。到此,MySQL从老版本升级的过程就完成了。
相关标签: 源码