非root模式下安装mysql php小记
假设你的home目录为/home/work
mysql-server 安装
1. 下载mysql.tar.gz
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz
2. 下载cmake [5.5及以上的版本需要用cmake进行安装]
cmake 官网下载 http://cmake.org/cmake/resources/software.html
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2-Linux-i386.tar.gz
解压 tar -zxvf cmake-2.8.12.2-Linux-i386.tar.gz
无需编译 直接使用 cmake-2.8.12.2-Linux-i386/bin/cmake
3. 安装mysql
1) tar -zxvf mysql-5.6.17.tar.gz
2) cd mysql-5.6.17
3) /home/work/cmake-2.8.12.2-Linux-i386/bin/cmake -DCMAKE_INSTALL_PREFIX=/home/work/local/mysql -DMYSQL_DATADIR=/home/work/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/home/work/tmp/mysqld.sock -DWITH_INNOBASE_STORAGE_ENGINE=1
注意: 路径尽量使用绝对路径。
4) make ; make install
4. 启动
/home/work/local/mysql/bin/mysql_install_db --user=work --basedir=/home/work/local/mysql --datadir=/home/work/local/mysql/data --no-defaults
运行mysql_install_db以后会有相应的启动提示 按照提示结合日志即可启动,也可以按照我下面写的方法。
/home/work/local/mysql/bin/mysql_install_db --defaults-file=/home/work/local/mysql/my.cnf --datadir=/home/work/local/mysql/data/ --basedir=/home/work/local/mysql/
touch /home/work/tmp/mysqld.sock 注意: 这个文件是你在cmake编译时候写的 -DMYSQL_UNIX_ADDR=/home/work/tmp/mysqld.sock
另外如果 3306已经被其他mysql 占用 则要修改 /home/work/local/mysql/my.cnf 的port为 其他端口
/home/work/local/mysql/bin/mysqld_safe &
/home/work/local/mysql/bin/mysqladmin -u root password ‘123456‘
5. 使用 /home/work/local/mysql/bin/mysql -uroot -p123456 使用
PHP安装
1. 下载
官网列表地址 http://www.php.net/downloads.php
wget http://tw1.php.net/get/php-5.3.28.tar.gz/from/this/mirror
tar -zxvf php-5.3.28.tar.gz
cd php-5.3.28
2. 编译安装
./configure --prefix=/home/work/bin/php --with-mysql=/home/work/local/mysql --with-pdo-mysql=/home/work/local/mysql --with-config-file-path=/home/work/etc --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-exif --enable-calendar --enable-wddx --enable-pcntl
其中 支持mysql --with-mysql --with-pdo-mysql 要填入 mysql 的安装路径(不是mysql客户端可执行脚本)
make
make install
貌似写了--with-mysql --with-pdo-mysql 最终还是没装上mysql的扩展,
直接安装扩展 通过Phpzie 有报错
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
查了下解决办法是
崩溃。
用别的办法
使用php包中自带的ext
cd ./php-5.2.10/ext/mysql
/home/work/local/php/bin/phpize
./configure --with-php-config=/home/work/local/php/bin/php-config --with-mysql=/home/work/local/mysql/
// --with-mysql=/home/work/local/mysql/ 这个到现在还没明白到底是为什么 如果没有安装mysql-server是不是需要特意安装一个mysql-client呢? 有待考证
make
make install
最后 提示
Installing shared extensions: /home/work/local/php/lib/php/extensions/no-debug-non-zts-20060613/
cp /home/work/local/php/lib/php/extensions/no-debug-non-zts-20060613/mysql.so ../
把扩展放到 上一级目录 /home/work/local/php/lib/php/extensions/ 下 并把 /home/work/local/php/lib/php/extensions/配置为PHP的extention_dir
之后修改PHP.ini
1. extension_dir = "/home/work/local/php/lib/php/extensions/
2. 添加 extension=mysql.so
如果直接在cli命令下运行的话 不用重启任何服务 直接/home/work/local/php/bin/php -i 发现有mysql扩展的信息了
如果是apache php-cli 之类的 可能就需要 重启 apache和php-fpm才能生效。
其他扩展类似。
参考博客地址
http://www.cnblogs.com/ahomer/archive/2012/11/23/2783814.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。