Linux这点很好,即使没有权限,也可以将自己想要的程序什么的安装到自己有权限的目录下。
介绍一下怎么在非root用/权限下安装MySQL
参考:http://www.linuxfromscratch.org/blfs/view/svn/server/mysql.html
一、下载
MySQL的下载地址:http://anduin.linuxfromscratch.org/sources/BLFS/svn/m/mysql-5.1.42.tar.gz
BLFS提供了两个补丁,下载地址分别为:
http://www.linuxfromscratch.org/patches/blfs/svn/mysql-5.1.42-logevent-1.patch
http://www.linuxfromscratch.org/patches/blfs/svn/mysql-5.1.42-client-1.patch
二、编译
(1)打上补丁
解压MySQL,并进入mysql-5.1.42目录后,执行:
patch -Np1 -i ../mysql-5.1.42-logevent-1.patch patch -Np1 -i ../mysql-5.1.42-client-1.patch
以打上补丁
(2)指定编译选项
注意,在这里,我将我的mysql安装到/home/isearch/mysql/ 这个目录下,大家可以根据需要安装到自己想要并且有权限的目录下。
(3)编译和安装
执行make来编译源码
等make结束后,执行make benchdir_root=/tmp/mysql-bench install来安装
等安装结束后,看看之前用--prefix指定的那个目录下是不是多了:
(4)将配置文件拷贝过去
三、再做一些其他配置和修改
(1) 首先在~/.bashrc中将mysql相关的添加到环境变量中
(2)修改mysql的数据目录
mysql默认的数据目录在/var/lib目录下,但现在没有root权限,这个目录是没权限访问的。因此得稍微修改一下mysql的配置文件(etc/my.cnf)即可。
在mysql的安装后的目录下,编辑etc/my.cnf文件,在[mysql]这个section后,添加如下两行:
如:
(3)修改MySQL的client和server的端口
默认MySQL的client和server的端口是3306,如果想修改或者这个端口已经被别的进程占用了,还是可以通过修改etc/my.cnf来修改:
四、创建和启动数据库
(1)创建数据库
运行命令:
这句话的意思是以isearch这个用户来启动数据库,使用配置文件的路径是:/home/isearch/mysql/ etc/my.cnf
(2)启动MySQL
如果成功了,可以通过ps来检查以下相关进程:(这样就说明成功启动MySQL了 )
--skip-grant-tables 意思是不需要密码登录
如果启动成功,出现这样的结果,说明MySQL启动成功:
(3)尝试登录测试一下
成功哦!