1. 概述
1.1 目标
搭建测试,生产数据库参照文档。
2. 安装包检查
2.1 安装make编译器
make编译器下载地址:http://www.gnu.org/software/make/
(系统默认自带)查看自己的系统是否安装某个软件,如果已经有了,就不用在安装了,但是也有可能之前被卸载了。
如果你之前是使用rpm -ivh make装的,用
# rpm -qa | grep make肯定是能够找到的。
如果你是用
make && make install装的。那么最好直接去找执行程序,就知道有没装上去
# find / -name matlab
如果装了,它会告诉你执行程序被释放到哪个目录了。
++++++++++++++++++++++++++++++++++++++++++
# rpm -qa 是查看该软件是否被安装,# grep和# find是查看文件位置
++++++++++++++++++++++++++++++++++++++++++
# tar zxvf make-3.82.tar.gz
# cd make-3.82
# ./configure
# make
# make install
或者
[root@testdb1 ~]# rpm -qa |grep make
make-3.81-3.el5
2.2 安装bison
bison下载地址:http://www.gnu.org/software/bison/
# tar zxvf bison-2.5.tar.gz
# cd bison-2.5
# ./configure
# make
# make install
或者
[root@testdb1 ~]# rpm -qa |grep bison
bison-2.3-2.1
2.3 安装gcc-c++
gcc-c++下载地址:http://www.gnu.org/software/gcc/
# tar zxvf gcc-c++-4.4.4.tar.gz
# cd gcc-c++-4.4.4
#./configure
# make
# make install
2.4 安装cmake
cmake下载地址:http://www.cmake.org/
# tar zxvf cmake-2.8.4.tar.gz
# cd cmake-2.8.4
#./configure
# make
# make install
2.5 安装ncurses
ncurses下载地址:http://www.gnu.org/software/ncurses/
# tar zxvf ncurses-5.8.tar.gz
# cd ncurses-5.8
#./configure
# make
# make install
2.6 备注使用yum全部安装
yum install gcc gcc-c++
yum install -y ncurses-devel
yum install -y cmake
yum install -y libaio
yum install -y bison
3. 安装mysql数据库
3.1 解压mysql安装文件
MySQL5.6下载地址:http://dev.mysql.com/
这里我在这里下载的mysql-5.6.12.tar.gz
ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/
准备工作
# groupadd mysql
# useradd mysql -g mysql -M -s /sbin/nologin
#增加一个名为 mysql的用户。
-g:指定新用户所属的用户组(group)
-M:不建立根目录
-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。
解压并安装MySQL
# tar zxvf mysql-5.6.12.tar.gz
# cd mysql-5.6.12
# cmake ./
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路径
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷键功能(我没用过)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
# -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
编译脚本执行
time cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysqld.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
或者简单安装
# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
3.2 编译完成配置mysql服务
# cd /usr/local/mysql
# chown -R mysql:mysql .
# mkdir -p /data/mysql
# chown mysql.mysql -R /data
# chmod 775 -R /data
(#这里最后是有个.的大家要注意# 为了安全安装完成后请修改权限给root用户)
# scripts/mysql_install_db --user=mysql (先进行这一步再做如下权限的修改)
scripts/mysql_install_db --user=mysql --datadir=/data/mysql
和配置my.cnf 保持一致
# chown -R root:mysql . (将权限设置给root用户,并设置给mysql组, 取消其他用户的读写执行权限,仅留给mysql "rx"读执行权限,其他用户无任何权限)
# chown -R mysql:mysql ./data (数据库存放目录设置成mysql用户mysql组)
# chmod -R ug+rwx . (赋予读写执行权限,其他用户权限一律删除仅给mysql用户权限)
下面的命令是将mysql的配置文件拷贝到/etc
# cp support-files/my-default.cnf /etc/my.cnf
(5.6之前的版本用如下命令)
# cp support-files/my-medium.cnf /etc/my.cnf (5.6之前的版本是此操作,读者也可在此时自己进入support-files文件夹下面,看是配置文件的真正名称,那个存在,就拷贝那个。。)
修改my.cnf配置
# vi /etc/my.cnf
#[mysqld] 下面添加:
user=mysql
datadir=/data/mysql
default-storage-engine=MyISAM
备注修改 datadir=/data/mysql 需要在 scripts/mysql_install_db --user=mysql 添加 --datadir=/data/mysql
3.3 启动mysql
# bin/mysqld_safe --user=mysql & 或者直接进入bin文件夹下面
# cd bin
#./mysqld \ 这里说明,mysqld_safe或者mysqld都可以启动的
启动mysql,看是否成功
# ps –ef|grep mysql
root 25152 25119 0 14:43 pts/2 00:00:00 tail -f /data/mysql/testdb1.err
root 25729 1 0 14:50 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/testdb1.pid
mysql 25878 25729 0 14:50 pts/1 00:00:01 /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/testdb1.err --pid-file=/data/mysql/testdb1.pid
root 26040 25932 0 15:28 pts/0 00:00:00 grep mysql
# netstat -tnl|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
上面是一种启动mysql的方法,还有一种简单的方便,如下:
将mysql的启动服务添加到系统服务中
# cp support-files/mysql.server /etc/init.d/mysql
现在可以使用下面的命令启动mysql
# service mysql start
停止mysql服务
# service mysql stop
重启mysql服务
# service mysql restart
Shutting down MySQL..[ OK ]
Starting MySQL..[ OK ]
关闭MySQL自动启动
[root@testdb1 init.d]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@testdb1 init.d]#
[root@testdb1 init.d]#
[root@testdb1 init.d]#
[root@testdb1 init.d]# chkconfig mysql off
[root@testdb1 init.d]# chkconfig --list |grep mysql
mysql 0:off 1:off 2:off 3:off 4:off 5:off 6:off
备注:
命令行方式启动
[root@testdb1 ~]# cd /usr/local/mysql/bin
[root@testdb1 bin]# ./mysqld_safe &
[1] 3981
[root@testdb1 bin]# 160114 09:25:08 mysqld_safe Logging to '/data/mysql/testdb1.err'.
160114 09:25:08 mysqld_safe Starting mysqld daemon with databases from /data/mysql
关闭数据库
[root@testdb1 bin]# mysqladmin -uroot shutdown
160114 09:27:38 mysqld_safe mysqld from pid file /data/mysql/testdb1.pid ended
[1]+ Done ./mysqld_safe
3.4 修改root用户密码
# chkconfig --add mysql
修改默认root账户密码,默认密码为空
修改密码 cd 切换到mysql所在目录
# cd /usr/local/mysql
# ./bin/mysqladmin -u root password
New password:
Confirm new password:
回车在接下来的提示中设置新密码即可。。
最后
# service mysql restart; (重启mysql服务器)
# cd /usr/local/mysql/bin/ (进入mysql basedir下面的bin中)
# ./mysql (开启客户端)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.28 Source distribution
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
登录mysql测试
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select host,user from mysql.user;
+-----------+------+
| host | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1 | root |
| localhost | |
| localhost | root |
| testdb1 | |
| testdb1 | root |
+-----------+------+
6 rows in set (0.00 sec)
4. 常见问题
问题1
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).
解决:
修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录
问题2
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决:
新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。'''
ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock
/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock
问题3
解决:-bash:mysql:command not found
因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时,
系统在/usr/bin下面查此命令,所以找不到了
解决办法是:
ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可
5. 本地Yum 源配置
5.1 yum 简介
yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。
yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到RedHat 门下的rpm 了。
yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。
yum 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性。
5.2 yum源配置和光盘挂载
cd /etc/yum.repos.d
挂载本地光盘
mount -o loop /home/OL5.8x86_64dvd.iso /mnt
虚拟机挂着 ISO光盘
mount /dev/cdrom /mnt
修改yum源文件
[root@cafhxdb1 yum.repos.d]# cat my.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/Server
gpgcheck=0
enabled=1
6. RPM安装MySQL数据库
1. 下载MySQL 5.6
下载页面:http://dev.mysql.com/downloads/mysql/
此处选择“Red Hat Enterprise Linux 6 / Oracle Linux 6 (x86, 32-bit), RPM Bundle”下载,下载至/root/Downloads/目录下,下载文件名为“MySQL-5.6.15-1.el6.i686.rpm-bundle.tar”
2. 解压tar包
cd /root/Downloads/
tar -xvf MySQL-5.6.15-1.el6.i686.rpm-bundle.tar
3. 以RPM方式安装MySQL
在RHEL系统中,必须先安装“MySQL-shared-compat-5.6.15-1.el6.i686.rpm”这个兼容包,然后才能安装server和client,否则安装时会出错。
yum install MySQL-shared-compat-5.6.15-1.el6.i686.rpm # RHEL兼容包
yum install MySQL-server-5.6.15-1.el6.i686.rpm # MySQL服务端程序
yum install MySQL-client-5.6.15-1.el6.i686.rpm # MySQL客户端程序
yum install MySQL-devel-5.6.15-1.el6.i686.rpm # MySQL的库和头文件
yum install MySQL-shared-5.6.15-1.el6.i686.rpm # MySQL的共享库
4. 配置MySQL登录密码
cat /root/.mysql_secret # 获取MySQL安装时生成的随机密码
service mysql start # 启动MySQL服务
mysql -uroot -p # 进入MySQL,使用之前获取的随机密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password'); # 在MySQL命令行中设置root账户的密码为password
quit # 退出MySQL命令行
service mysql restart # 重新启动MySQL服务