linux下源代码搭建php环境之mysql(一)
如今已经大半夜了,五一劳动节挺无聊的。
折腾一下吧。实在是睡不着。于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境。
首先我得安装MYSQL吧。
发现遇到的问题真多。
。待我娓娓道来。
下面是在某站点上找到的安装步骤:
主要介绍linux操作系统下mysql源代码进行纯手动安装。假设你对linux操作系统下MySQL源代码进行纯手动安装的实际操作流程感兴趣的话,你最好还是浏览下面的文章。
1.实现linux下纯手动MySQL源代码安装,首先要下载MySQL的源代码,我下载的是MySQL-5.0.87.tar.gz
2.解压tar –xvfMySQL-5.0.87.tar.gz
3.进入MySQL-5.0.87
4.检測环境并指定安装文件夹:./configure--prefix=/usr/local/MySQL
5.编译:make
6.安装:sudo make install
7.实现linux下纯手动MySQL源代码安装中要进行配置。首先能够看到安装完的文件夹例如以下
在share/MySQL下打命令:ls –l | grepmy-
出来的都是MySQL的配置文件。依照须要选择当中一个拷到/etc下命名为my.cnf
/etc/my.cnf是MySQL默认读的配置文件的路径
8.改动var的可写权限。这是MySQL的数据库数据文件存放的位置,由于用当前用户来执行MySQL的后台程序可能没有这个文件夹的可写权限。
chmod 777 ./var –r
9.配置系统环境变量。使得能够直接运行MySQL的程序
系统的环境变量是放在/etc/profile下的,而用户的环境变量是放在用户的根文件夹下的.bashrc下
/etc/profile的配置:
- PATH=/usr/local/MySQL/bin:$PATH
- PATH=/usr/local/MySQL/libexec:$PATH
10.在启动MySQLd之前要先初始化它。运行MySQL_install_db
11.直接打mysqld_safe&启动mysql,由于之前配置过环境变量
12.直接MySQL进入MySQL的命令行控制。默认是以当前username登录的。默认root是没有password的
13.设置root的密码:MySQLadmin –u rootpassword ‘123456’
14.以root身份登录:MySQL –uroot–p
15.设置远程登录数据库。用户创建后默认是仅仅能在本地登录的。
- update user set Host='%’ where user=‘guoyu';
这句是将guoyu这个用户的同意登录的地址改成随意。但不包含本地。也就是说这样guoyu这个用户就无法在本地登录了,仅仅能远程登录。
仅仅有root用户才干运行这句。所以要先以root用户登录到本地数据库才行。
- flush privileges;
16.停止mysql:mysqladminshutdown
要再运行这句刷新缓存才干生效。
以上的相关内容就是对linux下纯手动MySQL源代码安装的介绍,望你能有所收获。
过程中遇到例如以下问题:
遇到的问题一:
No targets specified and no makefile found. Stop.
解决:
yum install gcc gcc-c++ autoconf automake
遇到的问题二:
Permission denied
Permission denied in linux
在linux上安装有些东西时会出现 Permission denied 的情况:下面就是
解决:
编辑/etc/selinux/config。找到这段:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
把 SELINUX=enforcing 凝视掉:#SELINUX=enforcing 。然后新加一行为:
SELINUX=disabled
保存。关闭。
......
编辑/etc/sysconfig/selinux,找到:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
假设SELINUX已经是 SELINUX=disabled。那么就不用改了。否则就把
SELINUX=enforcing 凝视掉,新加一行:
SELINUX=disabled
保存,退出。
假设你碰到其它类似提示:
cannot restore segment prot after reloc: Permission denied
哪应该是SELinux的问题,能够考虑把它关闭。
----------------------------------------------------------------
---------------------
郁闷的是.我把SELinux关闭后还是不行.于是到google上search.发现这个
非常实用.
在你保证SElinux 被disable后.还运行下
chcon -t texrel_shlib_t
如: chcon -t texrel_shlib_t /路径/路径/名字.so (这个文件视详细运行文件.)
以上两步.已经攻克了非常多server的问题了.
遇到的问题三:
没有ROOT权限
解决:
打开终端,在终端中输入[root@localhost ~]# su
遇到的问题四:
在tar。./configure,make,make install 经典四步时,从来没有想过当中的过程。仅仅认为像例行公事一样,做就是了。
不幸的是,这次在./configure后。make时出现下面错误:
make: *** No targets specified and no makefile found. stop.
解决:
在网上找到相关资料。确认是./configure出了问题。于是回头查看,果然发现问题:最后几行出了错。
完整错误信息例如以下:
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for termcap functions library... configure: error: No
curses/termcap library found
原因:
缺少ncurses安装包
解决的方法:
下载安装对应软件包
一、假设你的系统是RedHat系列:
yum list|grep ncurses
yum -y install ncurses-devel
yum install ncurses-devel
二、假设你的系统是Ubuntu或Debian:
apt-cache search ncurses
apt-get install libncurses5-dev
待安装completed!之后。再./configure,顺利通过。然后make && make
install,安装成功,一切OK。~~~
遇到的问题五:
bash: mysql: command not found
解决:
第一个问题,是由于你的mysql命令的路径在/usr/local/mysql/bin以下,所以你直接使用mysql命令时,系统在/usr/bin以下查此命令,所以找不到了,解决的方法是 ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接就可以,
第二个问题是你由于你没有指定password參数而至,应这样 mysql -uroot -p
或者直接使用相对路径./mysql -uroot -p123456
擦汗了一把,安装一个MYSQL遇到了这么多问题。
幸好到最后成功安装了。
最后总结了一下安装过程:
1.完毕linux系统下纯手动MySQL源代码的安装,首先要下载MySQL的源代码,我下载的是MySQL-5.0.87.tar.gz
2.解压tar –xvf MySQL-5.0.87.tar.gz
3.进入MySQL-5.0.87
4.检測环境并指定安装的文件夹:./configure --prefix=/usr/local/MySQL 检測出来缺什么那就安装什么。假设连gcc和g++都没有。没有编译器的话就要直接下载rpm包(已编译好的二进制文件)再安装到系统。 例如以下是安装gcc的命令(要先去下载这个包,这个地址有比較多的rpm包下载http://mirror.oa.com/SLES10-SP1-RPMS-32/):
sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm
安装这些rpm包的过程中有些是已安装的。或者是自己依赖自己导致安装不了。反正安装不了就用强制安装并忽略依赖的命令
sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm –-force –nodeps
可能进过安装一系列的rmp包后,最终完毕了环境检測。
。。
。。。
5.编译:make
6.安装:sudo make install
7.实现linux下纯手动MySQL源代码安装中要进行配置。首先能够看到安装完的文件夹例如以下 在share/MySQL下打命令:
ls –l | grep my-
出来的都是MySQL的配置文件,依照须要选择当中一个拷到/etc下命名为my.cnf /etc/my.cnf是MySQL默认读的配置文件的路径
8.改动var的可写权限。
这是MySQL的数据库数据文件存放的位置,由于用当前用户来执行MySQL的后台程序可能没有这个文件夹的可写权限。
chmod 777 ./var –r
9.配置系统环境变量,使得能够直接运行MySQL的程序 系统的环境变量是放在/etc/profile下的,而用户的环境变量是放在用户的根文件夹下的.bashrc下 (1) /etc/profile的配置:PATH export PATH当中/usr/local/mydql/bin是MySQL基本的可运行程序的文件夹,而libexec是放MySQL的后台主程序MySQLd的。
(2).bashrc的配置:
set PATH=/usr/local/MySQL/bin:$PATH
set PATH=/usr/local/MySQL/libexec:$PATH
export PATH这里注意.bashrc里面是要加个set的。
配置完后重登录就能够生效了
10.在启动MySQLd之前要先初始化它。运行MySQL_install_db
11.启动MySQLd,直接打MySQLd就能够了,由于之前配置过系统环境变量了
12.直接MySQL进入MySQL的命令行控制。默认是以当前username登录的,默认root是没有password的
13.设置root的密码:MySQLadmin –u root password ‘123456’
14.以root身份登录:MySQL –uroot –p
15.设置远程登录数据库。用户创建后默认是仅仅能在本地登录的。 update user set Host='%’ where user=‘guoyu'; 这句是将guoyu这个用户的同意登录的地址改成随意,但不包含本地。也就是说这样guoyu这个用户就无法在本地登录了,仅仅能远程登录。
仅仅有root用户才干运行这句。所以要先以root用户登录到本地数据库才行。 flush privileges; 要再运行这句刷新缓存才干生效。以上的相关内容就是对linux下纯手动MySQL源代码安装的介绍。望你能有所收获。
最后在网上找的MYSQL配置的相关资料:
1. 配置开机启动服务
/sbin/chkconfig httpd on [设置apacheserverhttpd服务开机启动]
/sbin/chkconfig –add mysqld [在服务清单中加入mysql服务]
/sbin/chkconfig mysqld on [设置mysql服务开机启动]
/sbin/service httpd start [启动httpd服务,与开机启动无关]
/sbin/service mysqld start [启动mysql服务,与开机无关]
2. 设置mysql数据库root帐号password。默认的初始化password为空~~~
mysqladmin -u root password ‘new-password’ [引號内填密码]
3. 让mysql数据库更安全
mysql -u root -p
mysql> DROP DATABASE test; [删除test数据库]
mysql> DELETE FROM mysql.user WHERE user = ”; [删除匿名帐户]
mysql> FLUSH PRIVILEGES; [重载权限]
4.安装上mysql扩展
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
5.设置默认编码等一些初始參数(my.cnf)
vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
default-character-set=utf8 [加入]
default-storage-engine=INNODB [加入]
old_passwords=1
[client]
default-character-set=utf8 [加入]
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
linux下源代码搭建php环境之mysql(一)的更多相关文章
- windows 7 下快速搭建php环境(windows7+IIS7+php+mysql)
原文:windows 7 下快速搭建php环境(windows7+IIS7+php+mysql) 1).采用理由: 优点:最大化的桌面图形化操作系统,可维护性优秀.基于IIS v6.0/v7.0(20 ...
- Linux下快速搭建php开发环境
php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...
- Linux下配置PHP开发环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- win7/win8下手工搭建WAMP环境
win7/win8下手工搭建WAMP环境. 最近学习wamp,看了好多教程,出来好多问题,终于成功搞定,这里集合了一下最好的教程,写了一些自己的经验,希望大家有用 这里不能上传图片,我就写了个带pdf ...
- 转载-Linux下svn搭建配置流程
Linux下svn搭建配置流程 一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...
- Mac下docker搭建lnmp环境 + redis + elasticsearch
之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...
- linux下安装lnmp集成环境
linux下安装lnmp集成环境 教程地址:https://www.cnblogs.com/peteremperor/p/6750204.html 必须要用root用户,否则权限不够无法安装 安装最新 ...
- 解决在linux下安装centos自带的mysql后,出现navicat远程连接失败的问题
最近在学习关于数据库相关的东西,所以下午尝试在linux下自己搭建了myql,我的mysql是直接安装centos系统自带的,安装过程不再赘述 安装完成后,从linux后台登录也显示成功,但是就是从n ...
- linux下svn 搭建
linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion yum安装SVN#mkdir -p /opt/svn/repos 创建s ...
随机推荐
- openvpn mac客户端tunnelblick连接后自动添加路由
在openvpn 的服务器配置文件添加配置设置客户端连接后自动添加一条路由 示例: vim /etc/openvpn/server.conf # Push routes to the client t ...
- 在where子句中经常使用的运算符
比较运算符 > < <= >= = <> 大于.小于.大于(小于)等于.不等于 BETWEEN ...AND... 显示在某一区间的值 IN ...
- MySQL修改root密码的各种方法整理(转)
整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助! 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR ' ...
- 如何运行Struts2官网最新Demo?
本篇将讲述下如何运行官网当前最新Struts2.5.10.1 版本的Demo. Struts2 官网:http://struts.apache.org/ 0x00 Demo下载 Struts2 官网2 ...
- LPC(Low Pin Count) 与SIO(Super IO)
记录bios学习的点点滴滴,虽然已经学了很长时间才发出来,但就当是温故而知新吧,由于水平有限,难免存在错误,望指正,同时感谢CSDN提供的平台. 1.LPC 定义: Intel所定义的PC接口,将以 ...
- [elk]Mutate filter plugin增删改查字段
Mutate filter plugin参考: https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html ...
- angular路由介绍
AngularJS路由功能是一个纯前端的解决方案,与我们熟悉的后台路由不太一样.后台路由,通过不同的URL会路由到不同的控制器上(controller),再渲染(render)到页面(HTML).An ...
- 线程相关函数(3)-pthread_detach()将某个线程设成分离态
#include <pthread.h>int pthread_detach(pthread_t tid); pthread_t tid: 分离线程的tid返回值:成功返回0,失败返回错误 ...
- python3用pillow生成验证码,tornado中输出图片
原文链接http://blog.csdn.net/cdnight/article/details/49636893
- python课文题目格式
import win32com from win32com.client import Dispatch,constants w = win32com.client.Dispatch('Word.Ap ...