centos 编译 mysql centos7离线安装docker
大家好,如果您还对centos 编译 mysql不太了解,没有关系,今天就由本站为大家分享centos 编译 mysql的知识,包括centos7离线安装docker的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
CentOS5.3 - mysql-6.0.10-alpha 源代码和设置
1,下载mysql数据库源代码: mysql-6.0.10-alpha.tar.gz 2,解压文件比较多,解压也一段时间。 src]# tar vxzf mysql-6.0.10-alpha.tar.gz 3,进入目录进行->配置,编译,安装 ]# cd mysql-6.0.10-alpha配置生成 makefile文件 ]#./configure--sysconfdir=/etc checking for termcap functions library... configure: error: No curses/termcap library found出现错误,也就是生成 makefile文件出错了。 [root@localhost mysql-6.0.10-alpha]# make make:*** No targets specified and no makefile found. Stop.如果你硬要输入 make命令是不行的,因为 makefile根本没有生成成功。解决办法:我们加入--with-named-curses-libs=/usr/lib/libncursesw.so.5进行生成 makefile./configure--sysconfdir=/etc--with-named-curses-libs=/usr/lib/libncursesw.so.5 Thank you for choosing MySQL!看到这句话,生成 makefile成功了。下面进行make编译:需要的时间比较长。 ]# make编译安装虽然花费的时间比较长,但是它应该可以适合任何一个发行版本的 Linux,编译的中途过程我就不播放视频出来了,截断一部分。我现在已经编译完成。 make[1]: Leaving directory `/opt/mysql-6.0.10-alpha/sql-bench' Making all in win make[1]: Entering directory `/opt/mysql-6.0.10-alpha/win' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/opt/mysql-6.0.10-alpha/win'最后进行安装 ]# make install编译安装完毕,有时候需要很长时间,如何判断是否死机?注意观察主机的硬盘灯,编译安装时候硬盘灯是一闪一闪的,有数据读取。下面拷贝配置文件 ]# cp/usr/local/share/mysql/my-large.cnf/etc/my.cnf以后配置mysql,就修改/etc/my.cnf即可 4,初始化数据库# useradd-d/usr/local/var mysql# su- mysql$/usr/local/bin/mysql_install_db初始化出现错误。 Installing MySQL system tables... 090518 7:16:41 [ERROR]/usr/local/libexec/mysqld: unknown option'--skip-federated' 090518 7:16:41 [ERROR] Aborting 090518 7:16:41 [Note]/usr/local/libexec/mysqld: Shutdown complete我们解决办法是,先删掉/usr/local/var下的 mysql文件夹 rm-rf/usr/local/var/mysql然后修改 vi/etc/my.cnf找到skip-federated注释掉,也就是改成####skip-federated然后保存退出 su- mysql用会 mysql身份,来重新初始化/usr/local/bin/mysql_install_db这次成功了吧,没有出现错误信息。 5,启动服务器 [mysql@localhost var]$/usr/local/bin/mysqld_safe&现在成功了,用 netstat-tnl看到 3306熟悉的 mysql默认端口 6,登陆测试 [mysql@localhost local]$ mysql-u root成功的话,出现 mysql> mysql>\s mysql>\q可以使用 show databases;一般,如果你是编译安装mysql,建议你像我下面的做法提升为 root用户, su- cp/usr/local/share/mysql/mysql.server/etc/init.d/mysqld mysql关闭的命令为:/etc/init.d/mysqld stop [root@localhost~]#/etc/init.d/mysqld stop Shutting down MySQL.090518 07:26:41 mysqld_safe mysqld from pid file/usr/local/var/localhost.localdomain.pid ended SUCCESS!就会显示关闭成功。 mysql启动的命令为:/etc/init.d/mysqld start [root@localhost~]#/etc/init.d/mysqld start Starting MySQL. SUCCESS!下面修改服务器启动时候,就自动运行 mysql 6.0 vi/etc/rc.d/rc.local我把它运行在 tomcat前面,然后保存退出。#####################分隔######################--查看数据库的字符集 show variables like'character\_set\_%'; show variables like'collation_%'; 13:15浏览(587)评论(0)分类: CentOS 2009-07-21缩略显示 CentOS5.3编译 mod_jk 1.2.15链接器整合apache httpd和 tomcat关键字: centos mod_jk现在我们来做一个整合,也就是当访问 apache 80端口时候遇到 jsp文件也可以正常访问。如果不整合,你的apache 80是不能运行jsp文件的,只能使用8080端口,也就是tomcat来访问。如何整合呢?要借助一个叫做 apache tomcat的链接器。下面是官方网站的下载地址,目前为止最新版是 1.2.15。。。 文章最后我会把这个工具提供下载,如果官方网站太慢的话。首先下载 jakarta-tomcat-connectors-1.2.15-src.tar.gz到服务器解压 ]# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz注意是进入: jk/native这个目录 ]# cd jakarta-tomcat-connectors-1.2.15-src/jk/native请确认你的 apache的 apxs文件位置 native]#./configure--with-apxs=/usr/local/apache2/bin/apxs编译生成mod_jk native]# make拷贝编译完成生成的 mod_jk.so文件,这里也是要注意你的apache modules目录位置 native]# cp./apache-2.0/mod_jk.so/usr/local/apache2/modules/===============================================修改apache配置文件# vi/etc/httpd.conf在DirectoryIndex中添加 index.jsp<IfModule dir_module> DirectoryIndex index.html index.jsp</IfModule>增加关于加载mod_jk的语句: LoadModule jk_module modules/mod_jk.so Include/usr/local/apache2/conf/mod_jk.conf添加以下内容(添加的时候去掉注释,可能文件不能显示中文):######指出mod_jk模块工作所需要的工作文件workers.properties的位置 JkWorkersFile/usr/local/apache2/conf/workers.properties###### Where to put jk logs JkLogFile/usr/local/apache2/logs/mod_jk.log###### Set the jk log level [debug/error/info] JkLogLevel info###### Select the log format JkLogStampFormat"[%a%b%d%H:%M:%S%Y]"###### JkOptions indicate to send SSL KEY SIZE, JkOptions+ForwardKeySize+ForwardURICompat-ForwardDirectories###### JkRequestLogFormat set the request format JkRequestLogFormat"%w%V%T"######将所有servlet和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理 JkMount/servlet/* worker1 JkMount/*.jsp worker1 JkMount/*.do worker1把一些注释去掉吧,只些一些起作用的语句上去。保存退出。===================================================在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.propertie注意:(如果没有 conf目录,可以建立,因为我安装时指定把 httpd.conf放在/etc下的,就没有 conf目录了)# vi mod_jk.conf添加以下内容(添加的时候去掉注释,可能文件不能显示中文):######指出mod_jk模块工作所需要的工作文件workers.properties的位置 JkWorkersFile/usr/local/apache2/conf/workers.properties###### Where to put jk logs JkLogFile/usr/local/apache2/logs/mod_jk.log###### Set the jk log level [debug/error/info] JkLogLevel info###### Select the log format JkLogStampFormat"[%a%b%d%H:%M:%S%Y]"###### JkOptions indicate to send SSL KEY SIZE, JkOptions+ForwardKeySize+ForwardURICompat-ForwardDirectories###### JkRequestLogFormat set the request format JkRequestLogFormat"%w%V%T"######将所有servlet和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理 JkMount/servlet/* worker1 JkMount/*.jsp worker1 JkMount/*.do worker1------------------------------------------------------------# vi workers.properties添加以下内容:####### Defining a worker named worker1 and of type ajp13 worker.list=worker1####### Set properties for worker1 worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=10 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300-------------------我的tomcat配置文件路径:/usr/local/tomcat/conf/server.xml最后编辑Tomcat的配置文件server.xml,在<Host段中加入:<Context path="" docBase="/usr/local/apache2/htdocs" debug="0" reloadable="true" crossContext="true"/>重新启动Apache和Tomcat。。。 [root@localhost bin]#./shutdown.sh Using CATALINA_BASE:/usr/local/tomcat Using CATALINA_HOME:/usr/local/tomcat Using CATALINA_TMPDIR:/usr/local/tomcat/temp Using JRE_HOME:/usr/java/jdk1.7.0 [root@localhost bin]#./startup.sh Using CATALINA_BASE:/usr/local/tomcat Using CATALINA_HOME:/usr/local/tomcat Using CATALINA_TMPDIR:/usr/local/tomcat/temp Using JRE_HOME:/usr/java/jdk1.7.0#/usr/local/apache2/bin/apachectl stop#/usr/local/apache2/bin/apachectl start刚才我在修改 httpd.conf可能写入了一些多余信息导致apache配置文件出错,我注释就可以了。在/usr/local/apache2/htdocs/下删掉 index.html建立一个index.jsp,写入一些简单的内容:<% out.println("Hello www.17rumen.com");%>用浏览器访问服务器 ,看到正确的页面了。说明apache遇到jsp页面,它可以提交给 tomcat去处理。。。 18:21浏览(315)评论(0)分类: CentOS 2009-07-21缩略显示 centos“You don't have permission to access/index.html on this server.”关键字: centos Forbidden You don't have permission to access/index.html on this server.开始我以为我配置出错,花半天时间都没有搞定,今天终于搞定了.原因:index.html是用root用户建的文件,apache权限不够。解决方法:更改文件权限;chmod 755 index.html 17:09浏览(498)评论(0)分类: CentOS 2009-07-17缩略显示 CentOS5.3编译安装 apache 2.2.11 web服务器(httpd-2.2.11.tar.gz)关键字: centos apache(现检测是否已经安装apapche,如果有的话请卸载后重新安装) 1,首先你必须下载: httpd-2.2.11.tar.gz当然你也可以到官方 上下载。 2,解压 src]# tar vxzf httpd-2.2.11.tar.gz 3,进入目录# cd httpd-2.2.11 httpd-2.2.11]#./configure--sysconfdir=/etc--enable-ssl--enable-modules配置文件放在/etc下 no SSL-C headers found configure: error:...No recognized SSL/TLS toolkit detected没有ssl我们,生成makefile文件失败,以后再安装 openssl也可以 httpd-2.2.11]#./configure--sysconfdir=/etc--enable-modules好,这次没有发现什么错误,--enable-modules这个强烈建议加上,也就是说以后apache可以添加其他的模块,方便很多。下面进行编译,make编译需要一定的时间,不过比起编译mysql要快些。 httpd-2.2.11]# make下面进行安装 httpd-2.2.11]# make install安装完成了。。。 4,启动服务测试一下吧。 ]#/usr/local/apache2/bin/apachectl start netstat-tnl可以看到 80端口,说明apache启动了。 tcp 0 0:::80:::* LISTEN打开浏览器进行访问吧。# ifconfig查看 Linux服务器ip地址。 inet addr:192.168.138.128 看到It works!说明正常工作了 cd/usr/local/apache2/可以看到 htdocs就是 web服务器的目录所在你可以想我这样 vi test.html上面写一些信息,然后进行访问。让Apache自动启动# echo"/usr/local/apache2/bin/apachectl start&">>/etc/rc.local(或者手动在/etc/rc.d/rc.local中设置)好,然后重启服务器,就可以发现 apache自动启动了
Ubuntu编译MySQL5
解决Ubuntu编译MySQL5源码时遇到的"找不到curses/termcap库"问题,关键在于确保系统已经正确安装了libncurses5-dev。此库在CentOS环境下可能已自动安装,但在Ubuntu中,需要手动执行指令安装。具体步骤如下:
首先,确认是否已安装libncurses5-dev:
在Ubuntu中使用指令
./configure–with-named-curses-libs=/usr/lib/libncurses.so.5
此行命令用于指定编译时使用特定的libncurses库版本。然而,为了简化此过程,推荐在编译前先解决libncurses5-dev的缺失问题。
解决方法如下:
使用
sudo apt-get install libncurses5-dev
指令安装libncurses5-dev。
安装完成后,重新执行编译步骤,通常无需手动指定lib路径,系统会自动识别并使用正确的库。
编译MySQL5源码的具体步骤如下:
1.使用
sudo groupadd mysql
创建名为mysql的用户组。
2.使用
sudo useradd-g mysql mysql
创建名为mysql的用户,并将该用户添加到之前创建的mysql组中。
3.解压缩并解压MySQL源码包。
4.进入解压后的目录并执行编译配置:
./configure–prefix=/usr/local/webserver/mysql/–enable-assembler–with-extra-charsets=complex–enable-thread-safe-client–with-big-tables–with-readline–with-ssl–with-embedded-server–enable-local-infile–with-plugins=innobase
5.执行编译并安装:
make&& make install
6.调整文件权限:
chmod+w/usr/local/webserver/mysql
7.更改文件所有权:
chown-R mysql:mysql/usr/local/webserver/mysql
完成上述步骤后,MySQL5在Ubuntu环境下应能成功编译并安装,无需额外指定库路径。
linux 怎么用cmake安装mysql
方法/步骤
1
在安装mysql数据库服务器前,确保你的linux系统是可以连接网络的,下面我们将通过源码方式来安装mysql首先通过putty登入进你的Linux系统,确保系统中已经安装的gcc c++等编译环境,因为mysql从5.5版本开始是使用cmake编译的,如果三个环境都没安装,可以使用下面的命令进行安装:yum-y install make gcc-c++ cmake bison-devel ncurses-devel
2
查找系统里是否已经安装了mysql数据库的相关组件,使用命令:rpm-qa| grep mysql进行查找,如果查找到,可以使用下面命令进行强制卸载:rpm-e--nodeps包名
如果你当时在安装Linux系统时,使用的默认的安装选项,这一步可以跳过;
3
然后我们来下载mysql的源码安装包,使用下面的命令来下载wget 下载的时间可能有点漫长,请耐心等待;
4
下载完成后,使用命令: ll可以查看当前目前下存在 mysql-5.6.24.tar.gz文件然后使用下面的命令解压压缩包:tar-zxvf mysql-5.6.14.tar.gz
然后使用命令: ll可以查看当前目前下存在 mysql-5.6.24目录使用命令:cd mysql-5.6.24切换到 mysql-5.6.24这个目录下;
上面的步骤完成后,下面我们来开始编译mysql文件了,首先配置编译的相关参数,执行如下命令:cmake\-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\-DMYSQL_DATADIR=/usr/local/mysql/data\-DSYSCONFDIR=/etc\-DWITH_MYISAM_STORAGE_ENGINE=1\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_MEMORY_STORAGE_ENGINE=1\-DWITH_READLINE=1\-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock\-DMYSQL_TCP_PORT=3306\-DENABLED_LOCAL_INFILE=1\-DWITH_PARTITION_STORAGE_ENGINE=1\-DEXTRA_CHARSETS=all\-DDEFAULT_CHARSET=utf8\-DDEFAULT_COLLATION=utf8_general_ci
接着使用 make&& make install来编译并安装mysql也可以分两步来执行:先运行 make,完成后再运行 make install整个过程大概需要30分钟左右,请耐心等待,这段时间你可以做点别的事
安装完成后,我们还要建立mysql的配置,首先设置mysql的访问权限,使用命令查看是否已经存在mysql用户及用户组,查看用户列表命令:cat/etc/passwd查看用户组列表命令:cat/etc/group
如果不存在,我们就要创建:添加用户组命令:groupadd mysql添加用户:useradd-g mysql mysql然后来修改之前安装的mysql所在目录的访问的用户及用户组输入命令:chown-R mysql:mysql/usr/local/mysql
然后是初始化mysql配置,切换到mysql安装目录:cd/usr/local/mysql执行初始化配置脚本,创建mysql自带的系统数据库:./scripts/mysql_install_db--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data--user=mysql
修改mysql配置文件,输入命令:vi my.cnf然后按键盘的"insert"键,然后通过键盘的方向键来移动光标到要修改的行,添加如下内容:server-id=1 report-port=3306 port=3306 datadir=/usr/local/mysql/datasocket=/var/lib/mysql/mysql.sock
这一步很重要,需要更改该配置文件的所有者:chown-R mysql:mysql/usr/local/mysql/my.cnf否则下面启动mysql服务会报错;
添加mysql到开机启动项,并启动mysql服务(注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会到你安装的mysql目录找,在本例中就是/usr/local/mysql/my.cnf。注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会可能会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。重命名的命令是:mv my.cnf my.cnf.bak)cp support-files/mysql.server/etc/init.d/mysqld#复制脚本 chmod+x/etc/init.d/mysqld#增加可执行权限 chkconfig--add mysqld#增加至sysV服务 chkconfig mysqld on#开机自启动service mysqld start#启动mysql服务netstat-aux|grep mysq#查看启动的mysql进程
添加mysql的环境变量,以方便以后的操作输入密码:vi/etc/profile在文件的底部添加如下内容:PATH=/usr/local/mysql/bin:$PATHexport PATH保存并退出,输入输入命令,使配置立即生效:source/etc/profile
安装好的mysql,默认root帐户帐户为空,下面我们来修改密码输入命令:mysql-uroot回车后,然后输入命令:SET PASSWORD= PASSWORD('123456');
设置完成后,输入命令:quit;退出mysql环境;
设置好 mysql密码,需要输入如下命令才能够正确登录进mysql:输入命令:mysql-uroot-p回车后,会提示你输入密码,输入正确并执行后,会看到以mysql>开始的提示行,在这里你可以输入任何有效的sql查询语句:比如输入:show databases;来显示所有的数据库,注意后面的分号不能丢失,它标识一行命令的结束。至此,恭喜你,mysql安装成功了。