• mysql源码包手动安装、配置以及测试(亲测可行)


    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/

    记下这篇mysql笔记,望日后有用!

    redhat6采用centos yum源,详解mysql的源码安装以及配置。这里继续上篇的博客php,Apache的配置,现在写MySQL的配置。lamp搭建到此成功!

    Apache源码安装的笔记:http://www.cnblogs.com/xiaobo-Linux/p/4637056.html

    php源码安装的笔记:http://www.cnblogs.com/xiaobo-Linux/p/4637775.html

    现在开始写MySQL的源码安装以及配置:

    1、安装mysql依赖:

    yum install cmake
    yum install ncurses-devel

    2、下载MySQL的源码安装包并解压:

    mysql下载地址:  http://distfiles.macports.org/mysql5/
    tar -zxvf  mysql-5.5.21.tar.gz

    3、创建mysql的安装目录及数据库存放目录

    mkdir -p /work/installed/mysql   安装目录  个人而定            
    
    mkdir -p /work/installed/mysql/data  数据库存放目录

    4、创建mysql用户及用户组

    groupadd mysql
    useradd -r -g mysql mysql

    5、安装MySQL:

    进入解压包文件夹内执行:

    cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data  -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1

    cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data  -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1

    其中:/work/installed/mysql为MySQL的安装目录,这个可以自定义,自己喜欢装哪就装到哪里。

    参数说明:
    
    -DCMAKE_INSTALL_PREFIX=/work/installed/mysql        //安装目录
    
    -DINSTALL_DATADIR=/work/installed/mysql/data         //数据库存放目录
    
    -DDEFAULT_CHARSET=utf8                        //使用utf8字符
    
    -DDEFAULT_COLLATION=utf8_general_ci            //校验字符
    
    -DEXTRA_CHARSETS=all                            //安装所有扩展字符集
    
    -DENABLED_LOCAL_INFILE=1                        //允许从本地导入数据

    下面依次执行:

    make
    
    make install

    如果出现错误:

    错误: ./bin/mysqld: Character set 'utf8-DDEFAULT_COLLATION=utf8_general_ci' is not a compiled character set and is not specified in the '/work/installed/mysql/share/charsets/Index.xml' file

    错误: ./bin/mysqld: Character set 'utf8-DDEFAULT_COLLATION=utf8_general_ci' is not a compiled character set and is not specified in the '/work/installed/mysql/share/charsets/Index.xml' file

    是字符集和字符冲突了,所以编译的时候要把字符和字符集选项都加上,并且要兼容!修改编译参数:

    那么执行此条命令:

    cmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system

    cmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system

    注意,如果重新编译或者编译出错了:

    注意事项:
    
    重新编译时,需要清除旧的对象文件和缓存信息。
    
    # make clean/make clean all
    
    # rm -f CMakeCache.txt
    
    # rm -rf /etc/my.cnf

    然后再:make , make install即可。

    6、设置目录权限

    在安装好的mysql目录下执行命令:

     chown -R root:mysql .   //把当前目录中所有文件的所有者所有者设为root,所属组为mysql
    
     chown -R mysql:mysql data
    7、将mysql的启动服务添加到系统服务中
    cp support-files/my-medium.cnf /etc/my.cnf 
    8、创建系统数据库的表
    scripts/mysql_install_db --user=mysql

    9、设置环境变量

     
    # vi /root/.bash_profile

    在PATH=$PATH:$HOME/bin添加参数为:

    PATH=$PATH:$HOME/bin:/work/installed/mysql/bin:/work/installed/mysql/lib

    # source /root/.bash_profile
    
    

    10、启动mysql

     
    法1:
    在mysql安装好的目录下执行来启动MySQL:
    ./bin/mysqld_safe --user=mysql &  

    启动日志写在此文件下:/work/installed/mysql/data/localhost.err 目录个人而异,自己的安装目录

    法2:
    cp support-files/mysql.server  /etc/init.d/mysql //将mysql的启动服务添加到系统服务中
    # service mysql.server start 

    # service mysql.server stop

    # service mysql.server restart


    另外关闭MySQL服务的命令是:
    mysqladmin -u root -p shutdown  

    11、修改MySQL的root用户的密码以及打开远程连接

     
    # mysql -u root mysql

    mysql>use mysql;
    mysql>desc user;
    mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //为root添加远程连接的能力。
    mysql>update user set Password = password('xxxxxx') where User='root'; //这里的XXXX为自己输入的MySQL密码,root用户
    mysql>select Host,User,Password from user where User='root';
    mysql>flush privileges;
    mysql>exit

    重新登录:mysql -u root -p

    若还不能进行远程连接,则关闭防火墙
    # /etc/rc.d/init.d/iptables stop

    12、12-1、测试MySQL并将MySQL与php结合起来

    登录mysql: mysql -u root -p

    输入密码:mysql(输入自己设定的mysql密码)

    下面建立数据库,建立表,插入数据:

    mysql> create database test1;
    mysql> use test1;
    mysql> create table student(id int(4) not null primary key auto_increment,name char(20));
    mysql> insert into student(name) values('Tom');    

    这里插入了TOM的名字,接下来配置php,以及编写发布的主页内容:

    重新配置php:

    ./configure --prefix=/work/installed/php  --with-apxs2=/work/installed/apache/bin/apxs --with-mysqli=/work/installed/mysql/bin/mysql_config

    这里的php安装路径是自己原来配置安装好的,根据自己的情况而定。上一篇PHP配置:http://www.cnblogs.com/xiaobo-Linux/p/4637775.html

    Apache配置:http://www.cnblogs.com/xiaobo-Linux/p/4637056.html

     然后在php的源码解压包里面执行:

    make

    make install

    最后重启Apache:在Apache安装好的目录下执行restart: /work/installed/apache/bin/apachectl restart
     

    12-2、在Apache的发布主页的目录下编写index.php这个文件。

    我的发布目录是:/home/web/index.php

    编写php:vim index.php:

    内容如下,目的是让它显示刚刚插入的TOM的数据:

    <?php 
      $mysql=new mysql();
      $mysql->connect('localhost','root','mysql','test1');
       // 创建查询
       $sqlstr='select * from student';
      //发送查询给MySql
       $result=$mysql->query($sqlstr);
        while($row=$result->fetch_object())
        { 
          $name=$row->name;
           echo $name;
        }
    ?>

    再重启一下Apache吧:

    ./apachectl restart

    如果显示Tom的话说明mysql成功!

    到此mysql安装完成!lamp===Apache+mysql+php也搭建成功!

  • 相关阅读:
    带锚点URL同一页面滚动效果的实现
    思路先行
    transliteration -- 2个功能
    html5 section article
    fields('t')
    使用Bootstrap
    JavaScript Switch
    菜单
    写一个博客页面
    自动适应
  • 原文地址:https://www.cnblogs.com/zhaocundang/p/4639659.html
Copyright © 2020-2023  润新知