如何从非root linux用户使用Source安装MySQL 5.5?

时间:2012-05-16 10:11:06

标签: mysql linux

我需要一种通用的方法在非root用户的几乎所有Linux操作系统中安装MySQL 5.5。因此我想从其源代码安装MySQL并将其安装在我需要的地方。

是否真的可以在非root用户家中安装MySQL? 有人对此有任何想法吗?请分享您的专业知识。

这里的主要限制是,我需要以通用方式从任何非root用户安装MySQL 5.5并且几乎可以用于任何Linux操作系统。

任何建议都将不胜感激。

感谢。

结论 我尝试过使用Ubuntu-11.10,最后我能够从非root用户安装MySQL-5.5,但是没有从控制台/命令提示符访问MySQL。由于mysqld正常运行,因此可以通过任何通过JDBC连接器连接到MySQL的GUI工具轻松访问MySQL。如果您尝试使用

从命令提示符访问mysql
  

mysql -u root -p

命令它给出了分段故障问题。我还尝试从Non-Root用户购买Fedora Linux的另一件事,因为mysqld失败了,无论如何都无法访问mysql :(。

2 个答案:

答案 0 :(得分:5)

您应该自定义这三个变量:

MYSQL_DATADIR
SYSCONFDIR
CMAKE_INSTALL_PREFIX

示例:

$ cd <mysql_src_dir>
$ cmake -i .
    Would you like to see advanced options? [No]:Yes
    Please wait while cmake processes CMakeLists.txt files....
    ...
    Variable Name: CMAKE_INSTALL_PREFIX
    Description: install prefix
    Current Value: /usr/local/mysql
    New Value (Enter to keep current value): /home/user/mysql
    ...
    Variable Name: MYSQL_DATADIR
    Description: default MySQL data directory
    Current Value: /usr/local/mysql/data
    New Value (Enter to keep current value): /home/user/mysql/data
    ...
    Variable Name: SYSCONFDIR
    Description: config directory (for my.cnf)
    Current Value: /usr/local/mysql/etc
    New Value (Enter to keep current value): /home/user/mysql/etc
$ make
$ make install

您可以使用cmake -i .

代替cmake -D MYSQL_DATADIR=/home/user/mysql/data -D SYSCONFDIR=/home/user/mysql/etc -D CMAKE_INSTALL_PREFIX=/home/user/mysql .

答案 1 :(得分:1)

我想这应该是可能的,但不一定容易做到。您需要从源构建并更改Makefile,以便安装目标指向用户的本地目录;另外,我认为你需要在MySQL中使用其他默认配置选项,这些选项也可以从配置文件中更改。最后,你应该能够启动mysqld,只要你不绑定到1000以下的任何端口(无论如何,因为MySQL默认在端口3306上运行)。