CentOS 7运维管理笔记(10)----MySQL源码安装

  MySQL可以支持多种平台,如Windows,UNIX,FreeBSD或其他Linux系统。本篇随笔记录在CentOS 7 上使用源码安装MySQL的过程。

1.下载源码

  选择使用北理工的镜像文件:

在CentOS 7 中输入如下命令:

[[email protected]:~/Downloads] # wget http://mirror.bit.edu.cn/mysql/Downloads/MySQL-5.6/mysql-5.6.31.tar.gz

2.解压mysql源码压缩文件,并更新软件源

3.安装编译所需软件包

yum install -y  make   gcc-c++   cmake   bison-devel  ncurses-devel   gcc   autoconf   automake   zlib*   fiex*   libxml*   libmcrypt*  libtool-ltdl-devel*

结果显示如下错误:

网上查找应对 [Errno 256] 的办法,使用如下命令:

yum clean all
yum makecache

输入这两个命令后,重新下载那些编译MySQL依赖的软件包,这次一个一个安装,不要所有软件包都输入在同一个命令行里:

yum install -y make
yum install -y gcc-c++
yum install -y cmake
......

这次libxml* 安装正常了,但是好像fiex* 的安装还是存在问题,且不管了,继续进行。

4. 使用cmake命令生成MakeFile

先生成/var/mysql/data 目录:

mkdir  -p  /var/mysql/data

关于CMake的介绍见百度:http://baike.baidu.com/link?url=N-Yk2wK5C807vyXsK58_93dRocV_NIitJKug8925aUovJrKNQ2roUOuCxK2m1xC9u2Vpz6WjHG18bwQtZrhH4a

输入如下命令:

[[email protected]:~/Downloads/mysql-5.7.13] # cmake > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql > -DMYSQL_DATADIR=/var/mysql/data > -DSYSCONFDIR=/etc > -DWITH_MYISAM_STORAGE_ENGINE=1 > -DWITH_INNOBASE_STORAGE_ENGINE=1 > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock > -DMYSQL_TCP_PORT=3306 > -DENABLED_LOCAL_INFILE=1 > -DEXTRA_CHARSETS=all > -DDEFAULT_CHARSET=utf8 > -DDEFAULT_COLLATION=utf8_general_ci 

结果出现如下错误:

百度搜索 CMake Error at cmake/boost.cmake:81 (MESSAGE),找到这么一个网页:http://www.cnblogs.com/chunguang/p/5553301.html

看到方法一太凌乱,就没好好看,直接选择了方法二----然而并没有效果;

再仔细看刚才cmake的错误提示:

对比搜到的那个网页的方法一,原来方法一跟cmake提示的一样,就是多加上一句cmake条件而已:-DDOWNLOAD_BOOST=1  -DWITH_BOOST=/usr/local/boost

[[email protected]:~/Downloads/mysql-5.7.13] # cmake > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql > -DMYSQL_DATADIR=/var/mysql/data > -DSYSCONFDIR=/etc > -DWITH_MYISAM_STORAGE_ENGINE=1 > -DWITH_INNOBASE_STORAGE_ENGINE=1 > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock > -DMYSQL_TCP_PORT=3306 > -DENABLED_LOCAL_INFILE=1 > -DEXTRA_CHARSETS=all > -DDEFAULT_CHARSET=utf8 > -DDEFAULT_COLLATION=utf8_general_ci
> -DDOWNLOAD_BOOST=1 \
> -DWITH_BOOST=/usr/local/boost

CMake之,过程中出现如下画面:

这回CMake成功:

5.编译

该过程会花费大约30分钟~~~~

[[email protected]:~/Downloads/mysql-5.6.31] # make

6.安装

[[email protected]:~/Downloads/mysql-5.6.31] # make install

安装过程大约5分钟搞定吧。

7.添加用户并设置权限

[[email protected]:~/Downloads/mysql-5.6.31 ]# cd /usr/local/mysql
#添加用户
[[email protected]:/usr/local/mysql ]# groupadd mysql
[[email protected]:/usr/local/mysql ]# useradd -r -g mysql mysql
#设置权限以便mysql能修改文件
[[email protected]:/usr/local/mysql ]# chown -R mysql.mysql ./
[[email protected]:/usr/local/mysql ]# chown -R mysql.mysql /var/mysql/data

#初始化数据库
#需要注意,此处设置的数据目录应该与之前MYSQL_DATADIR 指定的目录相同
[[email protected]:/usr/local/mysql ]# scripts/mysql_install_db --usr=mysql   -ldata=/var/mysql/data

执行结果:

使用 ll 命令可以看到新生成了my.cnf 文件

将my.cnf 备份

cp  my.cnf   my.cnf.backup

然后修改相应的目录的权限以便mysql修改:

[[email protected]: /usr/local/mysql]# chown -R root ./
[[email protected]: /usr/local/mysql]# chown -R mysql data

关于编译MySQL时的参数,这个网页有详细的说明:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

8. 配置MySQL的配置文件,如下所示:

9. 设置MySQL为系统服务

(i)将启动脚本放到 /etc/init.d 目录中

(ii)将 mysqld 添加为系统服务

(iii)启动MySQL服务

出现如上所示错误

网上搜寻答案,http://blog.sina.com.cn/s/blog_637e04c9010117ri.htmlhttp://www.jb51.net/article/48625.htm,想到可能是因为刚才设置了

[[email protected]: /usr/local/mysql]# chown -R  mysql.mysql ./

#后来又设置了
[[email protected]: /usr/local/mysql]# chown -R root ./

而 my.cnf 配置文件没有做正确的修改,按照刚才的错误提示,(The server quit without updating PID file (/var/mysql/data/javis)),修改my.cnf文件如下:

再次启动

成功!

(iv) 为 root 用户设置密码

在第一个红色方框处提示要输入密码,因为此时还没有为root 用户设置密码,所以什么都不用输入,直接按下回车键。

设置密码要按照第二个红色方框处的格式来进行设置,密码放在 password()的括号里,而且要用单引号包围起来。

显示正确后,输入quit退出。

谨记 2016-07-04-Mon 20:11

时间: 2024-10-18 04:43:28

CentOS 7运维管理笔记(10)----MySQL源码安装的相关文章

CentOS 7运维管理笔记(11)----PHP安装与配置

PHP的安装同样需要经过环境检查.编译和安装3个步骤. 1.首先用百度搜索 “PHP:Downloads”, 点击第一个网页: 选择5.5.37版本,选择 .tar.gz 格式的文件: 来到镜像列表网站:http://php.net/get/php-5.6.23.tar.gz/from/a/mirror 找到中国的镜像,点击,会弹出浏览器下载的对话框.在对话框中,有下载的地址信息: 在CentOS7 命令行里输入: wget http://cn2.php.net/distributions/ph

CentOS 7运维管理笔记(6)----Apache 基于 IP 的虚拟主机配置

Apache 配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置.本篇随笔记录自己基于IP的虚拟主机配置. 如果同一台服务器有多个IP,可以使用基于IP的虚拟主机配置,将不同的服务绑定在不同的IP上. (1)绑定IP: 在虚拟机中搭建的CentOS 7 服务器的IP被自己设置为了静态IP 192.168.1.210,现在使用ifconfig在同一个网络接口上绑定192.168.1.211~213这三个IP: ifconfig eth0:1 192.1

CentOS 7运维管理笔记(4)----安装ftp服务器

在CentOS 7下安装ftp服务器,可以使局域网内的主机拥有共享文件的一个站点. 在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用.目前在开源操作系统中常用的FTP软件除了vsftp外,主要有proftpd.pureftpd和 wu-ftpd等.本篇随笔记录vsftp的安装与配置. 注意:本随笔所有操作均在VMware workstations虚拟机中安装的CentOS7 中进行,在进行操作前最好设置快照,这样某一步出错了还可以退回原来的状态: 1.安装

CentOS 7运维管理笔记(1)----设置默认启动模式为GUI模式或命令行模式

昨天在虚拟机中安装CentOS 7时选择了GNOME模式安装,开机默认进入GUI模式.网上搜找修改为默认命令行模式的方法,看到说修改 /etc/inittab文件,在最低下一行添加 id:3 但是 使用 cat /etc/inittab 命令查看inittab文件,可以看到如下内容: 第一个红色方框内的内容表明 inittab不再使用. 第二个红色方框显示了两种启动模式:multi-user.target 和 graphical.target 模式,即名命令行多用户模式和图形界面模式. 第三个红

CentOS 7运维管理笔记(7)----Apache基于域名的虚拟主机配置

使用基于域名的虚拟主机配置是比较流行的方式,可以在同一个IP上配置多个域名并且都通过80端口访问. (1) 在网卡 eth0的第五个接口上配置 192.168.1.215 这个地址: (2) 配置/etc/hosts文件,192.168.1.215 对应的域名如下: 做ping测试,保证ip是导通的: (3) 建立虚拟主机存放网页的根目录,并创建首页文件的 index.html 文件 (4)修改 /usr/local/apache2/conf/httpd.conf 文件,使得服务器开始Liste

CentOS 7运维管理笔记(6)----Apache 基于端口的虚拟主机配置

如果一台服务器只有一个IP或需要通过不同的端口访问不同的虚拟主机,可以使用基于端口的虚拟主机配置. (1) 在虚拟机的CentOS7服务器上配置 eth0:4 为192.168.1.214: (2) 配置 /etc/hosts文件以方便测试: 进行ping测试,看ip地址有没有导通: (3) 建立虚拟主机存放网页的根目录,并建立首页文件 index.html (4) 修改 /usr/local/apache2/conf/httpd.conf 文件,在文件末尾添加以下内容: Listen 192.

CentOS 7运维管理笔记(11)----解决配置静态IP还是会出现动态IP地址的问题

网上搜集CentOS7 配置静态IP的方法,基本上都是说在 /etc/sysconfig/network-scripts/ifcfg-eth0文件中做如下配置 TYPE=Ethernet HWADDR=00:xx:xx:xx:xx:xx #only : none , bootp , or dhcp BOOTPROTO= none DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no #禁用IPV6 IPV6INIT=no IP

CentOS 7运维管理笔记(3)----Linux路由器配置

当正在配置的Linux主机需要作为路由器使用时,通过以下步骤配置后,子网上的计算机就可以访问外网了: 1. 编辑 /etc/sysctl.conf 文件,添加 net.ipv4_ip_forward = 1 语句,这样就允许服务器使用Linux自身的内核转发功能.配置DHCP服务并使用防火墙的地址伪装作NAT功能:(By the way : net.ipv6.conf.all.disable_ipv6=1 和 net.ipv6.conf.default.disable_ipv6=1 两条语句禁用

CentOS 7运维管理笔记(2)----修改命令提示符颜色

使用 su  命令切换到root用户: 使用 vi /etc/bashrc 命令插入如下代码: PS1="\e[1;32m\u\e[m\e[1;[email protected]\e[m\e[1;35m\h\e[m:\w\$" 保存后,在root用户下输入命令 : source /etc/bashrc 即可生效. 注意:也可以在 /etc/profile中输入 PS1="\e[1;32m\u\e[m\e[1;[email protected]\e[m\e[1;35m\h\e[