centos mysql 编译安装 docker安装mysql
大家好,今天小编来为大家解答centos mysql 编译安装这个问题,docker安装mysql很多人还不知道,现在让我们一起来看看吧!
centos系统编译安装nginx+php环境另加独立mysql教程
前端(nginx+php)ip:192.168.10.8
后端(独立mysql)ip:192.168.10.5
软件版本:libiconv-1.14.tar.gz mysql-5.1.63.tar.gz php-5.2.17.tar.gz php-5.2.17-fpm-0.5.14.diff.gz php-5.2.17-max-input-vars.patch
1.先在后端安装mysql
在192.168.10.5上只安装mysql.方法可以去看centos编译安装nginx+php-fpm+mysql里的mysql安装.
2.在前端安装php-fpm nginx和mysql-client
这里只说下安装mysql-client和php的编译安装.
代码如下 tar zxf mysql-5.1.63.tar.gz cd mysql-5.1.63
./configure--prefix=/usr/local/mysql--without-server
这里只需要加上--without-server就可以让mysql变成客户端了.
如果出现/bin/rm: cannot remove `libtoolt': No such file or directory,可以去看这篇文章Mysql安装:/bin/rm: cannot remove `libtoolt': No such file or directory.
没有问题后,执行命令:
代码如下 make make install
编译php的时候只需要加上--with-mysql=mysql客户端安装目录就可以了.这里我给出编译参数:
代码如下 ./configure--prefix=/usr/local/php--enable-fastcgi--enable-fpm--with-fpm-log=/var/log/php-fpm.log\
--with-fpm-conf=/etc/php-fpm.conf--with-fpm-pid=/var/run/php-fpm.pid--with-config-file-path=/etc\
--with-config-file-scan-dir=/etc/php.d--with-openssl--with-zlib--enable-bcmath--with-bz2--with-curl\
--enable-ftp--with-gd--enable-gd-native-ttf--with-jpeg-dir--with-png-dir--with-gettext--with-mhash\
--enable-mbstring--with-mcrypt--enable-soap--enable-zip--with-iconv=/usr/local/libiconv\
--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--without-pear
nginx的编译没有什么好说的了,我前面centos编译安装nginx+php-fpm+mysql这篇文章里已经有讲过了.
3.进行测试验证
当上面的一切都安装好之后,在后端的mysql里给出远程权限,如下:
代码如下 GRANT ALL PRIVILEGES ON*.* TO'root'@'%' IDENTIFIED BY'123456';
然后iptables上只允许192.168.10.8访问mysql端口,其他都拒绝.如:
代码如下 iptables-A RH-Firewall-1-INPUT-s 192.168.10.8-p tcp-m tcp--dport 3306-j ACCEPT
iptables-A RH-Firewall-1-INPUT-p tcp--dport 3306-j DROP
services iptables save
services iptables restart
然后在192.168.10.8上进行测试,是否可以远程连上mysql
mysql-h 192.168.10.5-u root-p
如果可以连上,就继续下一步的操作,不能连上的话请检查上面是否有错误的地方.
现在我们加个php页面来测试php是否可以连上mysql,脚本如下:
代码如下 ?php
$link=mysql_connect("192.168.10.5","root","123456");
if(!$link) echo"bad!";
else echo"ok!";
mysql_close();
?
成功的话是ok!的输出,失败的话是bad!的输出,我这里是成功的
mysql 5.5.x的只安装客户端.
需要的软件:libiconv-1.14.tar.gz mysql-5.5.25a.tar.gz
1.安装前的准备
安装前的准备,可以去看这篇文章centos编译安装nginx+php-fpm+mysql
2.安装libiconv
代码如下 ./configure--prefix=/usr/local/libiconv
make make install
3.只安装mysql客户端
代码如下 cmake. make mysqlclient libmysql
make install
这样就只安装了mysql客户端,然后可以输入whereis mysql来查看mysql安装位置.
whereis mysql
好了,可以看到跟yum安装的差不多.
4.安装php
以前mysql是5.1的时候,只需要加上--with-mysql=mysql客户端安装目录就可以了,但在mysql 5.5.x这个参数就要改变下了,下面是php的编译参数:
代码如下 ./configure--prefix=/usr/local/php--enable-fastcgi--enable-fpm--with-fpm-log=/var/log/php-fpm.log--with-fpm-conf=/etc/php-fpm.conf\
--with-fpm-pid=/var/run/php-fpm.pid--with-config-file-path=/etc--with-config-file-scan-dir=/etc/php.d\
--with-openssl--with-zlib--enable-bcmath--with-bz2--with-curl--enable-ftp\
--with-gd--enable-gd-native-ttf--with-jpeg-dir--with-png-dir--with-gettext--with-mhash\
--enable-mbstring--with-mcrypt--enable-soap--enable-zip--with-iconv=/usr/local/libiconv\
--with-mysql=shared,/usr--with-mysqli=shared,/usr/bin/mysql_config
大家可以看最后一行,--with-mysql=shared,/usr--with-mysqli=shared,/usr/bin/mysql_config这就是跟以前不同的行.好了,剩下的就不写了
如何在linux系统中centos7.6上面安装mysql数据库
安装mysql基本有三种办法:
1,源码编译。 2,二进制包方式安装 3, yum安装。
可以采用二进制包方式安装mysql,并进行优化配置。
1.安装之前,先创建mysql用户
[root@linuxprobe_nfs~]# useradd mysql-s/sbin/nologin-M
[root@linuxprobe_nfs~]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)
2.软件包的下载及解压
[root@linuxprobe_nfs~]# mkdir/home/chenfan/tools-p
[root@linuxprobe_nfs~]# cd/home/chenfan/tools
在官网上下载mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@linuxprobe_nfs tools]# ls
mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@linuxprobe_nfs tools]# tar zxvf mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@linuxprobe_nfs tools]# ls
mysql-5.5.32-linux2.6-x86_64 mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@linuxprobe_nfs local]# mv mysql-5.5.32-linux2.6-x86_64/usr/local/mysql-5.5.32
###免编译安装 mysql二进制包安装与配置实战记录
[root@linuxprobe_nfs local]# cd/usr/local
[root@linuxprobe_nfs local]# ln-s mysql-5.5.32 mysql
###此处的软链接为了版本升级提供了便利
3.初始化数据库
[root@linuxprobe_nfs local]# mysql/scripts/mysql_install_db--basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data/--user=mysql
###此处如果初始化发生错误,删除data目录下的内容,rm-fr mysql/data/*,重新初始化。
4.生成MySQL配置文件
[root@linuxprobe_nfs local]# cd mysql
[root@linuxprobe_nfs mysql]# cp support-files/my-small.cnf/etc/my.cnf
5.授权管理文件
[root@linuxprobe_nfs~]# chown-R mysql:mysql/usr/local/mysql/
[root@linuxprobe_nfs~]# ls-ld/usr/local/mysql/
drwxr-xr-x. 13 mysql mysql 4096 Jun 24 17:21/usr/local/mysql/
6.设置科学的启动方式
[root@linuxprobe_nfs mysql]# cp support-files/mysql.server/etc/init.d/mysqld
[root@linuxprobe_nfs mysql]# chmod+x/etc/init.d/mysqld
[root@linuxprobe_nfs mysql]#/etc/init.d/mysqld start
Starting MySQL... SUCCESS!
[root@linuxprobe_nfs mysql]# chkconfig--add mysqld
[root@linuxprobe_nfs mysql]# chkconfig mysqld on
[root@linuxprobe_nfs mysql]# chkconfig--list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
###设置开机自启动mysql
7.配置MySQL环境变量
[root@linuxprobe_nfs mysql]# echo'PATH=/usr/local/mysql/bin:$PATH'>>/etc/profile
[root@linuxprobe_nfs mysql]# source/etc/profile
[root@linuxprobe_nfs mysql]# echo$PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
###此处PATH路径的设置为了后续mysql命令的使用
8.mysql登陆与密码设置
[root@linuxprobe_nfs mysql]# mysql
arm架构Centos7.6部署Mysql集群的步骤(arm安装mysql)
CentOS与Redhat关系
RedHat一直都提供源代码的发行方式,CentOS就是将RedHat发行的源代码重新编译一次,形成一个可使用的二进制版本。由于Linux的源代码是GNU,所以从获得RedHat的源代码到编译成新的二进制,都是合法。只是RedHat是商标,所以必须在新的发行版里将RedHat的商标去掉。
RedHat对这种发行版的态度是:“我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。”所以,CentOS可以得到RedHat的所有功能,甚至是更好的软件。但CentOS并不向用户提供商业支持,当然也不负上任何商业责任。
如果你要将你的RedHat转到CentOS上,因为你不希望为RedHat升级而付费。当然,你必须有丰富UNIX使用经验,因此,RedHat的商业技术支持对你来说并不重要。但如果你是单纯的业务型企业,那么还是建议你选购RedHat软件并购买相应服务。这样可以节省你的IT管理费用,并可得到专业服务。
一句话,选用CentOS还是RedHat,取决于你所在公司是否拥有相应的技术力量:
1、完全可以把CentOS理解为RedHatAS系列!它完全就是对RedHatAS进行改进后发布的,各种操作、使用和RedHat没有区别
2、CentOS完全免费,不存在像RedHatAS系列那样需要序列号的问题
3、CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat那样需要花钱购买支持服务
4、CentOS修正了许多RedHatAS的BUG
5、CentOS版本说明:
CentOS4.0等同于RedHatAS4
CentOS4.1等同于RedHatAS4U1
CentOS4.2等同于RedHatAS4U2
CentOS4.3等同于RedHatAS4U3
CentOS4.4等同于RedHatAS4U4
RedHat
Redhat有两大Linux产品系列:免费和收费
1)免费的FedoraCore系列
主要用于桌面版本,提供了较多新特性的支持。
RedHat公司的产品中,有RedHatLinux(如Redhat8、9)和针对企业发行的版本RedHatEnterpriseLinux,都能够通过网络FTP免费的获得并使用,但是在2003年的时候,RedHatLinux停止了开发,这也是为什么没有Redhat10的原因,它的项目有FedoraProject这个项目所取代,并以FedoraCore这个名字发行并提供普通用户免费使用。FedoraCore这个Linux发行版更新很快,大约半年左右就有新的版本出来,目前的版本是FedoraCore6,这个FedoraCore试验的韵味比较浓厚,每次发行都有新的功能被加入到其中,得到的成功结果将被采用道RHEL的发布中。虽说这样,频繁的被改进更新的不安定产品对于企业来说并不是最好的选择,大多数企业还是会选择有偿的RHEL产品。
2)收费的Enterprise系列
这个系列分成:AS/ES/WS等分支。RedHatEnterpriseLinux:redhat的企业版本,简写RHEL。包括如下版本:
1、RedHatEnterpriseLinuxAS
RedHat企业LinuxAS(AdvancedServer)是企业Linux解决方案中最高端的产品,它专为企业的关键应用和数据中心而设计。RedHat企业LinuxAS是唯一支持IBMi系列,p系列和z系列/S-390系统的产品。在IntelX86平台上,RedHat企业LinuxAS可以支持2个以上CPU和大于8GB的内存。
典型的RedHat企业LinuxAS应用环境如下:
数据库和数据库应用软件;WEB和中间件;CRM,ERP,SCM
2、RedHatEnterpriseLinuxESRedHat企业LinuxES(EntryServer)
为IntelX86市场提供了一个从企业门户到企业中层应用的服务器操作系统。它支持1-2CPU和小于8GB内存的系统。它提供了与RedHat企业LinuxAS同样的性能,区别仅在于它支持更小的系统和更低的成本。
典型的RedHat企业LinuxES应用环境如下:
公司WEB架构;网络边缘应用(DHCP,DNS,防火墙等);邮件和文件/打印服务;中小规模数据库和部门应用软件
3、RedHatEnterpriseLinuxWS
RedHat企业LinuxWS(Workstation)是RedHat企业LinuxAS和ES的桌面/客户端合作伙伴。RedHat企业LinuxWS支持1-2CPU的intel和AMD系统,是桌面应用的最佳环境。它包含各种常用的桌面应用软件(Office工具,邮件,即时信息,浏览器等),可以运行各种客户-服务器配置工具,软件开发工具和各种应用软件(例如EDA和Oil/Gas应用软件)。RedHat企业LinuxWs和服务器产品由同样的源代码编译而成,但它不提供网络服务功能(如DNS和DHCP),它只适合作客户端应用。
AS、ES、WS关系
AdvancedServer,缩写即AS。AS在标准Linux内核的基础上,做了性能上的增强,并提高了可靠性,集成了众多常见服务器的驱动程序。可轻松识别IBM/DELL/HP等常见机架式服务器的磁盘阵列卡等设备。AS主要版本2.x/3.x/4.x,也就是我们所说的AS3/AS4,每一个版本还有若干个升级,例如最早推出的AS4后,遇到了一些更新。此时就会发布AS4Update1,以后还会陆续有AS4Update2/Update3等出现简称AS4u1/AS4u2/AS4u3等。这和微软的发布形式也是非常类似的,微软的WindowsNT4从SP1出到SP6,Windows2000从SP1出到SP4等。AS这些Update版本所包含的主要程序包版本都有一定差别,最好不要混用,否则很容易出现问题。Prima和Plesk的安装包,对于各种发行版都有了针对性的设计在下载页面上,通常都会标识出来,支持哪些版本和哪些update的系统。
ES,是AS的精简版本。他与常见的AS系列的区别是,AS支持到4路以上CPU,而ES只能支持两路CPU。AS和ES在大多数程序包上并无区别,只在内核等少数软件包上有差异。AS和ES的售价差别比较大,通常ES用在随服务器一同购买的OEM版本中。例如购买DELL服务器,搭配的Linux会是ES系列。如果要搭配AS系列,则需要多花数千元。
WS,是ES的进一步简化版,主要针对企业内部的桌面办公市场,国内较少采用。
Redhat的FedoraCoreLinux和EnterpriseLinux,都需要遵循GNU协议,即需要发布自己的源代码。所以,对于免费的FedoraCoreLinux,从Redhat网站上可以直接下载ISO刻盘,还能下载到SRPM的ISO,即程序包源码光盘。对于收费的EnterpriseLinux系列,是一款商业产品,所以网站上不能下载到ISO文件,需要购买正式授权方可。由于EnterpriseLinux也需要遵循GNU协议,故必须发布源代码。所以在Redhat的网站上,可以获得AS/ES/WS系列的SRPM源码ISO文件。这些文件可以被自由的下载,修改代码,重新编译使用。
CentOS
CommunityENTerpriseOperatingSystem的项目诞生,它的缩写既是CentOS。CentOS社区将Redhat的网站上的所有源代码下载下来,进行重新编译。重新编译后,由于AS/ES/WS是商业产品,必须将所有Redhat的Logo和标识改成自己的CentOS标识。比如将AS4原版的SRPM源码编译后,就成为了CentOS4.0。AS4Update1的源码编译后,就成为了CentOS4.1。AS4Update2的源码编译后,就成为了CentOS4.2。同理,CentOS的3.x/4.x都对应着相应的版本。
所以,CentOS就是Redhat的AS/ES/WS的免费版本。使用CentOS,可以获得和AS/ES相同的性能和感受。CentOS除了提供标准的编号1~4或者1~5的若干张ISO以外,还提供了最小化1CD的Server光盘。用Server光盘安装好的系统,就是一个最小化的Linux内核加上常用的httpd/MySQL等包,不包含Xwindows桌面等对于服务器无用的软件。
CentOS与REDHAT区别:
1.GPL就是Linux内核所采用的软件许可证,GPL的特点是:你拿人家的代码修改用了,必须把修改后的代码公布。
2.所有的Linux都是采用的GPL许可,GPL许可允许GPL软件卖钱,但必须公布源码,所以每个Linux发行版的代码都是全公开的,只是,使用这些代码的人必须也公开修改过的代码。
3.Redhat的代码是公开的,但是他的二进制RPM包更新却不免费,这并不违反GPL许可。于是开始有人想到了建立CentOS项目。
4.由于Redhat的源代码是公开的,所以CentOS项目的人拿来自己再编译,同样的代码,同样的编译器,编译出来的自然是同样的东西。只不过里面删除了Redhat的Logo以及相应信息,而核心的管理工具还是rpm,只是用一个免费的软件包管理器yum(yellowdogupdatemanager)替代了Redhat中的up2date,up2date更新是连接到Redhat的收费服务站点的,通过钱买来的服务代码通过认证。
5.CentOS的使用者众多,因为世界范围内很多人想使用Redhat却有苦恼于Redhat的收费服务。现在CentOS在Linux发行版中排行前10,这个网页的第10个发行版本就是CentOS:TopTen
6.从品质上来说,CentOS从理论上应该跟Redhat一样的,毕竟是同样的源码。
上面的6点足够说明CentOS了。
什么是FreeBSD:
FreeBSD是个完整的系统,所有ls、cd这样的小命令都是自己的项目组开发的,而Linux发行版本其实是下载一个Linux内核,下载GNU的Coreutils(包括了常用的核心小命令),自己定制的系统。你应该记得,前些天,我还自己手动编译了一套系统。FreeBSD是从4.4BSD演变过来的Unix-Like操作系统,并不是也使用Linux内核。
FreeBSD使用的软件许可证是BSDL,BSDL的特点是:你可以免费使用我的代码,基于我的代码修改后的代码你不必公开,使用我的代码出了问题你不要告我(原:don’tpayme,don’tsueme)。很多喜欢BSDL的人主要是因为他们认为只要代码能得到最大幅度的利用就是最好的,不象GPL,用了代码还要还。所以很多网络设备以及一些商业公司都赞助FreeBSD的开发,这是个完全免费的软件项目:.org