假设你的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/scripts/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/scripts/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  --defaults-file=/home/work/local/mysql/my.cnf &  [注意这里要指定my.cnf否则会使用默认的/etc/my.cnf]

/home/work/local/mysql/bin/mysqladmin -u root password '123456'

5. 使用 /home/work/local/mysql/bin/mysql -uroot -p123456 使用

1) 如果报错 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 111

可能是你使用了其他端口 需要在链接的时候指定端口  /home/work/local/mysql/bin/mysql -uroot -p123456 -P3307

2)如果报错,没有权限ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

那么是你需要添加该用户  或者 是为这个用户授权

关于授权

默认是有一个 root@localhos的账户, 一般我们是为了支持其他机器访问的话需要加 root@%的账户和 root@本机名称的账户.

步骤就是

create user 'root'@'%' identified by '123456'

create user 'root'@'***.**.com' identified by '123456'

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'***.**.com' IDENTIFIED BY '123456';

FLUSH  PRIVILEGES;

注意精确匹配的优先级要高于%这种模糊匹配, 而且有时候-hip会解析成-hhost名称 这样要看root@host名称是否有授权.

添加用户 可以使用add user 命令 也可以直接在mysql.user中添加这个用户. 比如:  create user root@localhost identified by '123456';

授权需要用grant 命令   如:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

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. 编译安装

指定 mysql lib路径

vi .bash_profile,添加:

MYSQL_LIB='/home/work/mysql/lib'

export LD_LIBRARY_PATH=$MYSQL_LIB:$LD_LIBRARY_PAT

./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-sysvshm --enable-sysvmsg--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-config-file-path=/home/work/etc  指定php.ini的目录

另外一个机器多个PHP,编译扩展要注意

1. phpize  php-config用对应的

2. php.ini 位置 (--with-config-file-path) 要正确

3. extentsion_dir是否指定 最好全路径

貌似写了--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.

查了下解决办法是

wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download

tar zxf re2c-0.13.5.tar.gz && cd re2c-0.13.5

./configure

make && make install

然后再去编译安装Fileinfo,就不会报re2c的错误了

但是 安装时又报错没有 /usr/bin 下的权限。

崩溃。

用别的办法

使用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才能生效。

其他扩展类似。

另: php -i可以得到 php.ini的路径 如果这个路径下没有配置 要从源码包拷一份php.ini过来 并进行配置

参考博客地址

http://www.cnblogs.com/ahomer/archive/2012/11/23/2783814.html

mysql 必须安装php_非root模式下安装mysql php小记相关推荐

  1. 安装cuda 非root_linux非root用户下安装软件,搭建生产环境

    之前的用实验室的服务器,因为某些原因,使用的用户没有root权限.linux的非root用户很多软件无法安装,非常的不方便.我的方法是使用brew来代替系统的包管理工具.brew是最先用在mac上的包 ...

  2. 非uefi模式安装linux,UEFI启动模式下安装Ubuntu 16.04教程

    前言 最近常帮人安装Ubuntu,也算积累了一些经验.这篇博文主要谈一谈如何在UEFI启动模式下正确安装Ubuntu 16.04,以形成Windows 10和Ubuntu 16.04的双系统. 随着U ...

  3. zzw原创_非root用户下安装nginx

    想自己安装nginx,又不相用到root用户. 非root用户下(本文为用户bdctool)来ngnix安装,要依赖pcre库.zlib库等, 1. 下载依赖包:下载地址 pcre(www.pcre. ...

  4. Linux服务器非root用户下安装CUDA11.1和cudnn到指定目录

    (适用于服务器上管理员已安装好显卡驱动或已安装的CUDA版本无法满足自己要求) 1.准备工作 首先查看自己服务器系统的信息 uname -a lsb_release -a 这是我的服务器的信息 然后根 ...

  5. python root_python在非root权限下的安装方法

    以前在使用Python的时候,都是使用root用户安装好的全局python,现在,因为root用户安装的Python版本太低,同时自己没有root权限去对全局Python升级,所以要在非root用户下 ...

  6. linux是不是在根目录下安装的软件其它用户就可以使用,[转载]Linux下非root用户如何安装软件...

    [转载]Linux下非root用户如何安装软件 这是本人遇到的实际问题,之前用到的所有机器,无论是自己的PC还是云服务器,root权限都是妥妥的,但是现在发现实验室的服务器原来自己并没有root权限2 ...

  7. linux系统下安装pfam数据库中hmmer软件以及python3非root用户的安装

    linux系统下安装pfam数据库中hmmer软件以及python3非root用户的安装 http://hmmer.org/从该链接下载源,其中有Userguide.pdf 下载,解压缩并切换目录 之 ...

  8. Linux 下非 root 用户 Conda 安装生物信息 R 软件包 MetaboAnalystR 演示

    (首发地址:学习日记 https://www.learndiary.com/2022/06/metaboanalystr/  ) 前些天演示了一下 Linux 下非 root 用户 Conda 安装生 ...

  9. RHEL6.1在字符模式下安装图形界面

    刚开始玩linux的时候老是会出现这样那样的不可预知的问题,在装系统的过程中也进常会忘了装图形界面. 当等了几十分钟后终于可以体验到全新的linux时出现在我们面前的却是一个经典的黑色背景和纯字符的界 ...

最新文章

  1. 统治未来的离散式神经网络详解
  2. 010 Android之逆向入门
  3. 2007年10月14日的日记
  4. 【转】Microsoft Cloud全新认证体系介绍
  5. bex64 java 贴吧,Windows Web Server 2008 R2 x64上的BEX错误
  6. java进制转换所有方法_Java进制转换方法整理
  7. 1.定义ddos僵尸网络
  8. mysql localhost值_jdbc:mysql://localhost:3306/mysql这句话中localhost具体指什么的localhost?能修改么?在哪里配置的?...
  9. Elasticsearch聚合学习之二:区间聚合
  10. cocos2d-x 4.0 学习之路(七)场景切换
  11. 2015年HEVC解码器组个人工作总结
  12. 微信小程序车牌组件代码
  13. python 通达信板块_通达信如何自定义选股,使用python在通达信里面选股
  14. mysql 备用字段_MySql 命令大全(转载备用)
  15. el-checkbox的坑(点击全选状态改变了但是不生效)
  16. 使用ros标定鱼眼相机
  17. Android切换深色模式导致布局字体变小的解决方案
  18. 网管随笔04--【MADC的另类安装与SQL的完全卸载】
  19. linux usb can驱动开发,linux驱动编写之十 USB初探
  20. 嵌入式系统移植三部曲 李炎朔

热门文章

  1. S8会成为三星移动的转折点吗?
  2. SQL Server中CROSS APPLY和OUTER APPLY的应用详解
  3. Parallel Python实现程序的并行多cpu多核利用【pp模块】
  4. Python基础教程学习笔记:第一章 基础知识
  5. 买笔记本的10大愚蠢表现
  6. NETMerger - DotNet 组件(dll或exe)合并
  7. kali开启禁止或删除ssh 开机启动
  8. 企业 - php nginx memcache
  9. checkbox管理
  10. (五)Docker镜像管理2之nginx镜像制作