5

我需要一种通用的方法来从非 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 根目录 -p

命令它给出了分段错误问题。我还从非 Root 用户那里为 Fedora Linux 尝试了另一件事,因为 mysqld 失败并且无论如何都无法访问 mysql :( 。

4

2 回答 2

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 .

于 2012-05-16T12:31:50.207 回答
1

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

于 2012-05-16T10:19:52.077 回答