• Cent OS 6.6 下安装mysql(5.5.20)和 PHP(5.3.10)


    0.准备步骤(没有连接网络的 linux):

    挂载光盘、让网络 yum 源失效、修改光盘 yum 文件、安装 c 语言编译器 gcc。

      

    1.MySQL(5.5.20)

    下载 mysql 5.5.20 源码包(由于mysql 官网使用 google cdn 的 jquery 来切换mysql 版本下载的下拉菜单,所以墙内无法获取linux 版本的mysql,这里在 51cto 上下载了一个源码包)

    把源码包 mysql-5.5.20.tar.gz 放到 /root 目录下

    ① 增加组和用户

    首先查看是否有mysql 用户:

    id mysql

    如果没有,增加组和用户:

    groupadd mysql
    useradd -g mysql mysql

    查看用户

    id mysql

    此时应该会有mysql 用户

    ② 解压缩

    tar -zxvf mysql-5.5.20.tar.gz

    安装完之后可以查看 mysql 解压以后的大小

    du -sh mysql-5.5.20

    显示 205M

    ③ 进入 mysql -5.5.20 目录(编译和编译安装都需要在源码包解压后的目录中进行)

    cd mysql-5.5.20

    ④ 定义安装位置

    先创建 /usr/local/mysql

    mkdir /usr/local/mysql

    然后软件配置与检查,定义安装位置

    注意:这一步 mysql 5.5(以上) 的版本源码安装使用 cmake 代替原来的 configure 命令。

    先安装 cmake:

    yum -y install cmake

    运行 cmake

    (此步可以参考mysql 官方网站:2.9 Installing MySQL from Source ---- 2.9.2 Installing MySQL Using a Standard Source Distribution )

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  
    -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock  
    -DDEFAULT_CHARSET=utf8  
    -DDEFAULT_COLLATION=utf8_general_ci  
    -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk  
    -DWITH_MYISAM_STORAGE_ENGINE=1  
    -DWITH_INNOBASE_STORAGE_ENGINE=1  
    -DWITH_MEMORY_STORAGE_ENGINE=1  
    -DWITH_READLINE=1  
    -DENABLED_LOCAL_INFILE=1  
    -DMYSQL_DATADIR=/data/mysql/mysql -DMYSQL_USER=mysql

    或者

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/mysql -DMYSQL_USER=mysql

    安装过程中可能会报错,比如:

    报错1:

    CMake Error at /usr/share/cmake/Modules/CMakeCXXInformation.cmake:37 (get_filename_component):
      get_filename_component called with incorrect number of arguments
    Call Stack (most recent call first):
      CMakeLists.txt:3 (PROJECT)

      CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
      CMake Error: Internal CMake error, TryCompile configure of cmake failed

    解决方法:安装 gcc-c++

    yum -y install gcc-c++

    报错2:

    CMake Error at cmake/readline.cmake:83 (MESSAGE):
      Curses library not found.  Please install appropriate package,
    
          remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

    解决方法:

    a.安装 ncurses-devel

    yum -y install ncurses-devel

    b.删除CMakeCache.txt

    rm CMakeCache.txt

    ⑤ make && make install

    make && make install

     过程比较漫长。

    安装完成之后,查看 /usr/local/mysql

    ls /usr/local/mysql

    ⑥ 改变/usr/local/mysql 目录的权限

     

    把 mysql 文件夹的所有者改为mysql 组的用户 mysql

    cd /usr/local
    chown -R mysql:mysql mysql

    ⑦ 设置开机启动

    cd /root/mysql-5.5.20
    cp support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld 
    ll /etc/init.d/mysqld 
    chkconfig --add mysqld
    chkconfig mysqld on

    此时就可以使用 servers mysqld start 来启动 mysql

    ⑧ 初始化 mysql 的默认的数据库

    /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/  --user=mysql 

    ⑨ 启动 mysql

    service mysqld start

    解决方法:

     cp cp /root/mysql-5.5.20/support-files/my-medium.cnf /etc/my.cnf

    y 覆盖

    vim /etc/my.cnf

    插入 datadir = /usr/local/mysql/data

     

    再插入:

    log-error = /usr/local/mysql/data/error.log
    pid-file = /usr/local/mysql/data/mysql.pid
    user = mysql
    tmpdir = /tmp

    保存。

    如果还是不行的话,参考 http://houzhiqingjava.blog.163.com/blog/static/1673995072014395417615/

    [root@localhost ~]# cd /usr/local/mysql
    [root@localhost mysql]# chown -R mysql.mysql .
    [root@localhost mysql]# su - mysql
    [mysql@localhost ~]$ cd /usr/local/mysql
    [mysql@localhost mysql]$ scripts/mysql_install_db
    Installing MySQL system tables...
    OK
    Filling help tables...
    OK
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    To do so, start the server, then issue the following commands:
    ./bin/mysqladmin -u root password 'new-password'
    ./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
    Alternatively you can run:
    ./bin/mysql_secure_installation
    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.
    See the manual for more instructions.
    You can start the MySQL daemon with:
    cd . ; ./bin/mysqld_safe &
    You can test the MySQL daemon with mysql-test-run.pl
    cd ./mysql-test ; perl mysql-test-run.pl
    Please report any problems with the ./bin/mysqlbug script!
    [mysql@localhost mysql]$ /usr/local/mysql/bin/mysqld_safe --user=mysql &
    [1] 11767
    [mysql@localhost mysql]$ 120502 07:01:17 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
    120502 07:01:17 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

    敲回车,再次启动 mysql

    service mysqld start

    错误原因是:没有初始化权限表。

    ⑩ 登录 mysql

    如果报错:

    原因:mysql命令的路径在 /usr/local/mysql/bin 下,所以你直接使用mysql命令时,无法查到该命令
    解决方法:在/usr/bin 下做一个软链接,指向真实的命令

    ln -s /usr/local/mysql/bin/mysql /usr/bin

    测试:

    select host,user,password from mysql.user;

    给root 设置密码 123456

    /usr/local/mysql/bin/mysqladmin -uroot -p password '123456'

    使用 s 查看数据库信息

    停止mysql:

    service mysqld stop

    重启mysql:

    service mysqld restart

    2.PHP 5.3.10

    ① 准备工作(可以参考CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境

    a. 安装 libxml2 2.2.26(php 处理 xml 文档)

    把 libxml2.tar.gz 复制到 /root 目录下

    tar -zxvf libxml2-2.2.26.tar.gz
    cd libxml2-2.2.26
    ./configure --prefix=/usr/local/libxml2
    make && make install

    b.安装 jpeg6

    把 jpegsrc.v6b.tar.gz 复制到 /root 目录下

    解压:

    tar -zxvf jpeg6.v6b.tar.gz
    #手动建立以下目录
    
    mkdir -p /usr/local/jpeg6
    mkdir -p /usr/local/jpeg6/bin
    mkdir -p /usr/local/jpeg6/lib
    mkdir -p /usr/local/jpeg6/include
    mkdir -p /usr/local/jpeg6/man
    mkdir -p /usr/local/jpeg6/man1
    mkdir -p /usr/local/jpeg6/man/man1

    cd jpeg-6b
    ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
    make && make install

    c.安装 zlib-1.2.5.1

    把zlib-1.2.5.1.tar.gz 复制到 /root 下

    tar -zxvf zlib-1.2.5.1
    cd zlib.1.2.5.1
    ./configure     #不指定任何目录
    make && make install

    d.安装 libpng 1.2.31

    把libpng-1.2.31.tar.gz 复制到 /root 下

    tar -zxvf libpng-1.2.31.tar.gz
    cd libpng-1.2.31
    ./configure #和zlib 一样不要带参数,让它默认安装到相应目录

    make && make install

     e. 安装 freetype 2.4.11 字体库

     把 freetype-2.4.11.tar.gz 复制到 /root 下

    tar -zxvf freetype-2.4.11.tar.gz
    cd freetype-2.4.11
    mkdir -p /usr/local/freetype
    ./configure --prefix=/usr/local/freetype
    make && make install

    f.安装 gd 2.0.35 图形库

    把 gd-2.0.35.tar.gz 复制到 /root

    tar -zxvf gd-2.0.35.tar.gz
    mkdir -p /usr/local/gd
    cd gd-2.0.35
    ./configure --prefix=/usr/local/gd 
    --with-jpeg=/usr/local/jpeg6 
    --with-png --with-zlib 
    --with-freetype=/usr/local/freetype
    make && make install

     ok,准备工作完成,该装php 了。

    把 php-5.3.10.tar.gz 复制到 /root 下

    ② 解压:

    tar -zxvf php-5.3.10
    cd php-5.3.10

    解压之后大小 127 M

    ③ 软件配置与检查,定义安装位置

    ./configure --prefix=/usr/local/php 
    --with-apxs2=/usr/local/apache2/bin/apxs 
    --with-mysql=mysqlnd 
    --with-pdo-mysql=mysqlnd 
    --with-mysqli=mysqlnd 
    --with-freetype-dir=/usr/local/freetype 
    --with-gd=/usr/local/gd 
    --with-zlib --with-libxml-dir=/usr/local/libxml2 
    --with-jpeg-dir=/usr/local/jpeg6 
    --with-png-dir 
    --enable-mbstring=all 
    --enable-mbregex 
    --enable-shared

    ④ 编译 并且 安装

    make && make install

    过程很漫长。

    ⑤ 复制一份 php.ini 文件

    使用:
    ls |gerp ini
    查看跟php.ini 有关的信息

    然后copy:

    cp php.ini-development /usr/local/php/lib/php.ini

    或者 复制 php.ini-production (生产环境)

    ⑥ 整合 apache 和 php

    进入apache 的安装目录

    cd /usr/local/apache2

    编辑:

    vi conf/httpd.conf

    使用 /php 查找和 php 相关的信息。

    使用:set nu 显示行数。

    166 行

    <ifModule dir_modle>
           DirectoryIndex index.html
    </ifModule>

    在 index.html 前加上 index.php

     使用 /AddType

    310 行添加:

    AddType application/x-httpd-php .php

    保存。

    重启 apache

    bin/apachectl restart

    进入:

    cd htdocs/

    编辑:

    vi index.php

    输入:

    <?php
    phpinfo();

    保存。

    重启apache

    /usr/local/apache2/bin/apachectl restart

    在浏览器中输入 192.168.254.100

    设置时区:

    vi /usr/local/php/lib/php.ini

    1008 行

    data.timezone = PRC

    重启 apache。

    php 安装配置完成。

    网站文件放在 /usr/local/apache2/htdocs ,目录下

    新建虚拟主机:

    cd /usr/local/apache2/conf
    vi httpd.conf

    搜索 vhosts

    大约 389 行

    把Virtual hosts 下面一行的 # 去掉

    保存。

    然后

    vi extra/httpd-vhosts.conf

    虚拟主机部分修改成:

    重启apache。

    修改本地主机的hosts,加入 

    192.168.254.100 test.com

    在浏览器中输入 test.com,就可以浏览网站了。

      

    参考:

    linux下Apache+PHP+mysql+phpMyAdmin源码包安装配置(Ubuntu)

    使用cmake方式安装mysql-5.5.10(mysql cmake)

    CentOS 6.2 源码安装MySQL5.5.11(解决mysql cmake 报错)

    MySQL: Starting MySQL….. ERROR! The server quit without updating PID file解决办法( 解决mysql 无法启动)

    CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境

    CentOs5.5+mysql+nginx+php5.3.3安全安装手册

    常用源码包

    常用源码包2

  • 相关阅读:
    小程序前端直传阿里云oss的一些记录
    小程序的两种分页做法(后端返回分页及总页数字段与否)
    小程序模糊搜索(词汇联想)
    小程序自定义组件的两种方式
    js对数据的一些处理方法(待完善)
    小程序关于登录授权回跳页面的两个问题记录
    小程序登录的一些简单步骤
    关于js的方括号[]属性赋值的一些记录
    js状态转化的简单写法
    微信企业号开发node版
  • 原文地址:https://www.cnblogs.com/dee0912/p/4322535.html
Copyright © 2020-2023  润新知