笔记编者:小波/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-.tar.gz

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

mkdir -p /work/installed/mysql   安装目录  个人而定            

mkdir -p /work/installed/mysql/data  数据库存放目录

4、创建mysql用户及用户组

groupadd mysqluseradd -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 ) not ));
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也搭建成功!

mysql源码包手动安装、配置以及测试(亲测可行)的更多相关文章

  1. MySQL源码包编译安装

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库实力部署时间:2019年3月9日内容:MySQL源码包进行编译,然后部署MySQL单实例重点 ...

  2. CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作

    CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614   使用yum安装的MySQL一般版本比较旧,但 ...

  3. nginx + mysql + php相关源码包及安装

    nginx + mysql + php安装 引言 完整的搭建一个nginx+php-fpm+mysql的服务器,一直是我向做的,不过一致没有完成过,这次工作需要,终于安装成功了 我列出了我遇到的一些问 ...

  4. zabbix 3.2.2 server端(源码包)安装部署 (一)【转】

    环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...

  5. Linux——【rpm、yun、源码包】安装

    RPM包或者安装源码包 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松,因为我们不是在图形界面下.所以我们要 ...

  6. Linux学习笔记15—RPM包的安装OR源码包的安装

    RPM安装命令1. 安装一个rpm包rpm –ivh 包名“-i” : 安装的意思“-v” : 可视化“-h” : 显示安装进度另外在安装一个rpm包时常用的附带参数有:--force : 强制安装, ...

  7. 源码包的安装、rsync同步、inotify监测

    一.源码包的安装 1.源码包的作用:yum 使用的是rpm包,rpm包安装的不能指定安装位置 源码包可以按需选择/定制,及时修复bug ,适用于各种平台 2.大致过程:源码包——>make gc ...

  8. (3.2)mysql基础深入——mysql源码阅读工具安装与应用

    (3.2)mysql基础深入——mysql源码阅读工具安装与应用 关键字:mysql源码阅读工具 工具列举:一般多用[1][2][3]吧 [1]source insight [2]写字板/记事本 UE ...

  9. CentOS 7.4 使用源码包编译安装MySQL 5.7.20

    使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...

随机推荐

  1. 用scikit-learn进行LDA降维

    在线性判别分析LDA原理总结中,我们对LDA降维的原理做了总结,这里我们就对scikit-learn中LDA的降维使用做一个总结. 1. 对scikit-learn中LDA类概述 在scikit-le ...

  2. 轻量级“集合”迭代器-Generator

    Generator是PHP 5.5加入的新语言特性.但是,它似乎并没有被很多PHP开发者广泛采用.因此,在我们了解PHP 7对Generator的改进之前,我们先通过一个简单却显而易见的例子来了解下G ...

  3. ExtJS 4.2 介绍

    本篇介绍ExtJS相关知识,是以ExtJS4.2.1版本为基础进行说明,包括:ExtJS的特点.MVC模式.4.2.1GPL版本资源的下载和说明以及4种主题的演示. 目录 1. 介绍 1.1 说明 1 ...

  4. 结巴分词3--基于汉字成词能力的HMM模型识别未登录词

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 算法简介 在 结巴分词2--基于前缀词典及动态规划实现分词 博 ...

  5. MAVEN学习-第一个Maven项目的构建

    MAVEN安装成功之后就可以进行项目的构建和管理了: 为什么要用maven进行项目的构建和管理? 对于初学者来说一个最直接的也是最容易里的优点在于JAR包的管理,相对于以前开发一个项目的时候我们需要用 ...

  6. 走进缓存的世界(三) - Memcache

    系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 简介 Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用 ...

  7. JavaScript将字符串中的每一个单词的第一个字母变为大写其余均为小写

    要求: 确保字符串的每个单词首字母都大写,其余部分小写. 这里我自己写了两种方法,或者说是一种方法,另一个是该方法的变种. 第一种: function titleCase(str) { var new ...

  8. 嵌入式&iOS:回调函数(C)与block(OC)回调对比

    学了OC的block,再写C的回调函数有点别扭,对比下区别,回忆记录下. C的回调函数: callBack.h 1).定义一个回调函数的参数数量.类型. typedef void (*CallBack ...

  9. Missing Push Notification Entitlement 问题

    最近打包上传是遇到一个问题: 描述: Missing Push Notification Entitlement - Your app includes an API for Apple's Push ...

  10. Linux命令

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...