`
magicsky
  • 浏览: 88507 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

普通用户安装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

 如:

 

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

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

 

 

四、创建和启动数据库

(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

 

    成功哦!

 

  • 大小: 3.5 KB
  • 大小: 10.4 KB
  • 大小: 11.9 KB
  • 大小: 9.2 KB
  • 大小: 9.2 KB
  • 大小: 8.1 KB
分享到:
评论
1 楼 hoho818 2011-07-03  
如果是直接下载的二进制文件怎么办呢?貌似是可以通过mysql_install_db来安装的,是这样么?

相关推荐

Global site tag (gtag.js) - Google Analytics