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-.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源码包手动安装、配置以及测试(亲测可行)的更多相关文章
- MySQL源码包编译安装
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库实力部署时间:2019年3月9日内容:MySQL源码包进行编译,然后部署MySQL单实例重点 ...
- CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ...
- nginx + mysql + php相关源码包及安装
nginx + mysql + php安装 引言 完整的搭建一个nginx+php-fpm+mysql的服务器,一直是我向做的,不过一致没有完成过,这次工作需要,终于安装成功了 我列出了我遇到的一些问 ...
- 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. ...
- Linux——【rpm、yun、源码包】安装
RPM包或者安装源码包 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松,因为我们不是在图形界面下.所以我们要 ...
- Linux学习笔记15—RPM包的安装OR源码包的安装
RPM安装命令1. 安装一个rpm包rpm –ivh 包名“-i” : 安装的意思“-v” : 可视化“-h” : 显示安装进度另外在安装一个rpm包时常用的附带参数有:--force : 强制安装, ...
- 源码包的安装、rsync同步、inotify监测
一.源码包的安装 1.源码包的作用:yum 使用的是rpm包,rpm包安装的不能指定安装位置 源码包可以按需选择/定制,及时修复bug ,适用于各种平台 2.大致过程:源码包——>make gc ...
- (3.2)mysql基础深入——mysql源码阅读工具安装与应用
(3.2)mysql基础深入——mysql源码阅读工具安装与应用 关键字:mysql源码阅读工具 工具列举:一般多用[1][2][3]吧 [1]source insight [2]写字板/记事本 UE ...
- CentOS 7.4 使用源码包编译安装MySQL 5.7.20
使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...
随机推荐
- 读书笔记:《HTML5开发手册》--HTML5新的结构元素
读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...
- ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”
在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...
- RPC 使用中的一些注意点
最近线上碰到一点小问题,分析其原因发现是出在对 RPC 使用上的一些细节掌握不够清晰导致.很多时候我们做业务开发会把 RPC 当作黑盒机制来使用,但若不对黑盒的工作原理有个基本掌握,也容易犯一些误用的 ...
- ASP.NET Core HTTP 管道中的那些事儿
前言 马上2016年就要过去了,时间可是真快啊. 上次写完 Identity 系列之后,反响还不错,所以本来打算写一个 ASP.NET Core 中间件系列的,但是中间遇到了很多事情.首先是 NPOI ...
- Connect() 2016 大会的主题 ---微软大法好
文章首发于微信公众号"dotnet跨平台",欢迎关注,可以扫页面左面的二维码. 今年 Connect 大会的主题是 Big possibilities. Bold technolo ...
- WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体
最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[] ...
- Oracle数据库该如何着手优化一个SQL
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...
- 【JQ基础】DOM操作
内部插入:append() //向每个匹配的元素内部追加内容,可包含 HTML 标签 $(selector).append(function(index,html)) /*•index - 可选.接收 ...
- vs生成pro
1.修改.vcxproj文件 <PropertyGroup Label="Globals"> <ProjectGuid>{AAAA4039-13B ...
- LeetCode - Two Sum
Two Sum 題目連結 官網題目說明: 解法: 從給定的一組值內找出第一組兩數相加剛好等於給定的目標值,暴力解很簡單(只會這樣= =),兩個迴圈,只要找到相加的值就跳出. /// <summa ...