普通用户安装MySQL

 

    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)指定编译选项

写道
./configure --prefix= /home/isearch/mysql/ --sysconfdir= /home/isearch/mysql /etc --libexecdir= /home/isearch/mysql /sbin --enable-thread-safe-client --enable-assembler --enable-local-infile --with-unix-socket-path= /home/isearch/mysql /var/mysql.sock --without-debug --without-readline --with-plugins=innobase,myisam --with-extra-charsets=all --with-ssl --localstatedir= /home/isearch/mysql /srv/mysql

    注意,在这里,我将我的mysql安装到/home/isearch/mysql/ 这个目录下,大家可以根据需要安装到自己想要并且有权限的目录下。

 

(3)编译和安装

写道
make
make benchdir_root=/tmp/mysql-bench install 

    执行make来编译源码

    等make结束后,执行make benchdir_root=/tmp/mysql-bench install来安装

    等安装结束后,看看之前用--prefix指定的那个目录下是不是多了:

 

(4)将配置文件拷贝过去

写道
mkdir /home/isearch/ mysql/ etc
cp /home/isearch/mysql /share/mysql/my-medium.cnf /home/isearch/mysql/ etc/my.cnf 
sed -i -e s/^skip-federated/#skip-federated/ /home/isearch/mysql/ etc/my.cnf
 

 

三、再做一些其他配置和修改

(1) 首先在~/.bashrc中将mysql相关的添加到环境变量中

写道
export PATH= /home/isearch/mysql/ bin: /home/isearch/mysql /sbin:$PATH
export LD_LIBRARY_PATH= /home/isearch/mysql/ lib: /home/isearch/mysql /lib/mysql:$LD_LIBRARY_PATH
souce ~/.bashrc
  •     这两句的意思是将mysql中的bin和sbin两个目录添加到PATH这个环境变量中(PATH控制系统命令的路径);
  •     将mysql中的lib目录添加到LD_LIBRARY_PATH中;(LD_LIBRARY_PATH变量控制系统动态库文件的路径)
  •     source 是让~/.bashrc的修改生效;

 

(2)修改mysql的数据目录

    mysql默认的数据目录在/var/lib目录下,但现在没有root权限,这个目录是没权限访问的。因此得稍微修改一下mysql的配置文件(etc/my.cnf)即可。

    在mysql的安装后的目录下,编辑etc/my.cnf文件,在[mysql]这个section后,添加如下两行:

写道
datadir = /home/isearch/mysql /var/lib/
pid-file = /home/isearch/mysql /var/mysql.pid

 如:

普通用户安装MySQL_第1张图片

 

(3)修改MySQL的client和server的端口

默认MySQL的client和server的端口是3306,如果想修改或者这个端口已经被别的进程占用了,还是可以通过修改etc/my.cnf来修改:

普通用户安装MySQL_第2张图片

 

 

四、创建和启动数据库

(1)创建数据库

运行命令:

写道
mysql_install_db --user= isearch --defaults-file= /home/isearch/mysql/ etc/my.cnf

 这句话的意思是以isearch这个用户来启动数据库,使用配置文件的路径是:/home/isearch/mysql/ etc/my.cnf

 

(2)启动MySQL

写道
mysqld_safe --pid-file= /home/isearch/mysql/ var/mysql.pid --user= isearch --skip-grant-tables --datadir= /home/isearch/mysql /var/lib/mysql

 如果成功了,可以通过ps来检查以下相关进程:(这样就说明成功启动MySQL了
--skip-grant-tables 意思是不需要密码登录

    如果启动成功,出现这样的结果,说明MySQL启动成功:

 

(3)尝试登录测试一下

写道
mysql -uroot --port=9003

 普通用户安装MySQL_第3张图片

    成功哦!

 

你可能感兴趣的:(linux,mysql,unix,SVN,socket)