lamp源码安装之二进制MySQL5.6.25安装
[*]下载解压源码,由于是二进制文件,所以需要解压到/usr/local/目录下
先把自带的mysql移除# rpm -qa|grep mysqlmysql-devel-5.1.73-3.el6_5.x86_64mysql-libs-5.1.73-3.el6_5.x86_64mysql-5.1.73-3.el6_5.x86_64# yum remove mysql由于源码编译时间太长,所以这里的是官网获得二进制安装包# wget http://dev.mysql.com/downloads/file.php?id=457697 # tar xf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz-C /usr/local/
# cd /usr/local
# ln -sv mysql-5.6.25-linux-glibc2.5-x86_64 mysql
2 、安装过程参照/解压目录/INSTALL_BINARY
# cd mysql# more INSTALL-BINARY
总结如下:
[*]安装libaio(centos默认安装了)这里省略
[*]添加mysql用户和组给出了参照命令
shell> groupadd mysqlshell> useradd -r -g mysql mysql
所以
# groupadd mysql
# useradd -r -g mysql mysql
3. 暂时修改安装目录下文件属主属组为mysql并执行安装脚本/安装目 录/scripts/mysql_install_db
# cd /usr/local/mysql
# chown -R mysql.mysql *
关于执行脚本注意加上选项,可以-h查看,--user=mysql --datadir=XX datadir建 议使用一个独立的分区
[*]
[*]下面添加一个LVM卷
[*]
划分一个20G空闲空间格式为LVM(8e)
由于我的centos没有空间了,所以在虚拟机中添加一个硬盘,具体是关机,然后设置,左边下 面的添加,选择硬盘。
# fdisk /dev/sdb
Device Boot Start End Blocks IdSystem
/dev/sdb1 1 1306 10490413+8eLinux LVM
最后输入w,中间转换类型使用t
然后创建pv
# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
物理部分搞定,创建vg,记得指定名字
# vgcreate vgdata/dev/sdb1
Volume group "vgdata" successfully created
创建lv
# lvcreate-L +10G -n lvdata vgdata
Logical volume "lvdata" created
格式化lvdata
# mke2fs-t ext4/dev/vgdata/lvdata
# mkdir /data/
# mount /dev/vg vga_arbitervgdata/ vg_livecd/ # mount /dev/vgdata/lvdata/data/ # df -Th
Filesystem Type SizeUsed Avail Use% Mounted on/dev/mapper/vg_livecd-lv_rootext4 19G4.4G 14G25% /tmpfs tmpfs 238M 0238M 0% /dev/shm/dev/sda1 ext4 485M 34M426M 8% /boot/dev/mapper/vgdata-lvdataext4 9.9G151M9.2G 2% /data 开机挂载
# echo "/dev/vgdata/lvdata /data ext4 defaults 0 0" >> /etc/fstab
4. 执行安装脚本
# mkdir /data/mysql/
# ./scripts/mysql_install_db--user=mysql --datadir=/data/mysql
其实这里可以指定mysock文件,否则请修改sock为/tmp目录下
3 安装完成把属主改为root,把data改为mysql用户,由于我们是放在新盘所以不用改咯
# chown -R root *
4把support-files/mysql.server可以复制到启动脚本里面
# cp support-files/mysql.server/etc/init.d/mysqld
修改文件
# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
5 复制安装目录下的my.cnf 为/etc/my.cnf
# cp /usr/local/mysql/my.cnf/etc/my.cnf
在主配置文件中发现sock等,其实还需要定义
部分修改如下
basedir = /usr/local/mysql datadir = /data/mysql port = 3306 server_id = 1 socket=/tmp/mysql.sock并把下面的#去掉
6 额外的动作
[*]包含库(
# echo "/usr/local/mysql/lib">> /etc/ld.so.conf.d/mysql.conf
[*]加入man帮助信息
# man mysql
No manual entry for mysql
所以需要加入man文档在/etc/man.config中加入一行MANPATH /usr/local/mysql/man
就可以使用man了
[*]增加路径包含,即可用使用常见命令
# mysql --help
-bash: mysql: command not found
# echo "export PATH=$PATH:/usr/local/mysql/bin">> /etc/profile.d/mysql.sh
# source/etc/profile.d/mysql.sh
mysql的相关命令就可以使用了
[*]头文件包含的问题
一般来说,为其在/usr/include创建相应的目录连接即可
# ln -sv /usr/local/mysql/include /usr/include/mysql
`/usr/include/mysql' -> `/usr/local/mysql/include'
7 启动我们的服务试试
# netstat -tlnp|grep mysql
#
# service mysqld start
Starting MySQL...
# netstat -tlnp|grep mysql
tcp 0 0 :::3306 :::* LISTEN 2790/mysqld
# mysqlWelcome to the MySQL monitor.Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.6.25 MySQL Community Server (GPL)Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || test |+--------------------+4 rows in set (0.02 sec)mysql>9 下面还是想起前提apache httpd的安装了,里面有socket,有pidfile文件
所以这里继续尝试,因为主配置文件有sock设置,所以请自己创建相应的文件夹,并重启服务按道理在那个文件夹就会有相应的sock文件了
就是始终找不到pidfile文件,其实我忽略了刚开始创建的数据文件夹/data/mysql,如果想知道这个也很简单
网上的一个很好的命令
# ps ax|grep mysqld
4172 pts/0 S 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid
4390 pts/0 Sl 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid --socket=/var/run/mysql/mysqld.socket --port=33064420 pts/0 S+ 0:00 grep mysqld
页:
[1]