旧项目使用的mysql版本为5.5,对json数据处理并不友好,因此新项目我们使用mysql5.7 和 hbase,以下是mysql5.7 的安装步骤
由于mysql 在5.5版本之后抛弃了 ./configure 的配置环境的方式,而采用了cmake,因此环境需要 cmake 和boost 这两个lib
1 首先安装依赖
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake
进到 /tmp/softwares 中(一般把 源码包都放在 /tmp/softwares 目录下 ,便于管理和删除),softwares 目录是后建的
cd /tmp/sofwares
wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22.tar.gz
现在,先安装boost
tar -zxvf boost_1_59_0.tar.gz -C /var/lib/
解压 mysql 的tar.gz 的包
tar -zxvf mysql-5.7.22.tar.gz
cd mysql-5.7.22
mkdir /usr/local/mysql
检测并配置编译环境, 上面创建的目录 要与编译环境中的目录对应
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/var/lib/mysql
-DDOWNLOAD_BOOST=1
-DWITH_BOOST=/var/lib/boost_1_59_0
-DSYSCONFDIR=/etc
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DENABLED_LOCAL_INFILE=1
-DENABLE_DTRACE=0
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EMBEDDED_SERVER=1
然后编译安装
make && make install
make && make install
这一步等待时间比较长
然后创建用户
useradd -s /sbin/nologin mysql
把mysql 加入init.d/作为开机启动的服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
修改配置
vim /etc/my.cnf 由于我们还要在服务器上部署mysql 5.5,所以我才会将路径配置成/usr/local/mysql5.7 或是 /usr/local/mysql5.5 这种,以示区别,但是现在默认为mysql5.7.22 为mysql
vim /etc/my.cnf
任何版本的mysql 默认端口都是3306,为使多版本都能在服务器上做服务,我们可以修改此端口 3307,3308,3309
[client]
port=3306
default-character-set=utf8
socket=/tmp/mysql.sock #设置默认scok链接路径
[mysqld]
basedir=/usr/local/mysql #安装路径
port=3306
datadir=/var/lib/mysql #数据路径 如再编译配置mysql 5.5 的时候 此处要写成/var/lib/mysql5.5
socket=/tmp/mysql.sock #开始服务时sock存放位置
保存退出,
创建数据目录
mkdir -p /var/lib/mysql # 数据路径 不同版本时要加 版本号
设置权限
chown mysql:mysql /var/lib/mysql
然后进到mysql 的bin 目录下
cd /usr/local/mysql/bin
加载配置文件
./mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize-insecure
启动服务
/etc/init.d/mysql start
测试
mysql
添加mysql 至环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib" >> /etc/profile
source /etc/profile
设置密码
echo "set password=password('123@qwe');"| mysql -S /tmp/mysql.sock
尝试命令行登陆