Mysql5.7 环境搭建

旧项目使用的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
尝试命令行登陆

成功没有捷径
原文地址:https://www.cnblogs.com/orpheus89/p/9838673.html