我需要一种通用的方法在非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。如果您尝试使用
从命令提示符访问mysqlmysql -u root -p
命令它给出了分段故障问题。我还尝试从Non-Root用户购买Fedora Linux的另一件事,因为mysqld失败了,无论如何都无法访问mysql :(。
答案 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上运行)。