centos7编译安装mysql5.7

安装mysql之前先安装所需的依赖包如下:

yum  -y  install  gcc-c++    ncurses-devel  make  perl  gcc autoconf automake  zlib  libxml   libgcrypt   libtool  bison

安装cmake:(本例子中使用cmake3.12.0,  6.5的虚拟机不能使用此版本,需要使用低一点的版本)

解压cmake包:

tar -xf  cmake-3.12.0.tar.gz

cd cmake-3.12.0  //进入目录

./bootstrap      //配置

gmake         //编译

gmake  install   //安装

安装boost:

Mysql5.7.5以上的版本编译安装都需要boost,而且要求必须指定版本,否则无法安装成功,本次安装的mysql5.7.23对应的boost版本为boost_1_59_0.tar.gz,将包上传到root/目录下

tar -xf  boost_1_59_0.tar.gz   //解压

mv  boost_1_59_0  /usr/local/boost  //移动指定目录下重命名

安装mysql:(首先确保系统没有安装mysql)

mkdir -p /usr/local/mysql        //创建安装目录

mkdir -p /usr/local/mysql/data    //创建数据存放目录

groupadd  mysql              //创建mysql用户组

useradd  -g  mysql mysql      //创建mysql用户并加入组

将包上传到任意目录下(可以传到root目录下)

tar -xf  mysql-5.7.23.tar.gz     //解压

mv    mysql-5.7.23  mysql  //重命令为mysql文件夹

cd    mysql         //进入目录

执行以下安装文件: 注意\后面不要有空格

cmake . \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DMYSQL_TCP_PORT=3306 \

-DMYSQL_USER=mysql \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_BOOST=/usr/local/boost

make             //编译

make install       //安装

注意:如果cmake编译过程中报错需要重新编译时需要先删除mysql解压目录下(不是安装目录)的文件, 如图:

然后执行make clean后再重新使用cmake编译。

安装完成后给目录赋予权限:

cd /usr/local/      //进入安装目录

chown -R mysql:mysql  mysql   //赋予用户属主和属组

初始化数据库:

cd  /usr/local/mysql/bin/            //进入安装目录

./mysqld –initialize-insecure  –user=mysql  –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

编译配置文件 : vi  /etc/my.cnf

添加环境变量: vi  /etc/profile

export  PATH=$PATH:/usr/local/mysql/bin

source   /etc/profile //配置立即生效

将MySQL启动脚本添加到启动服务中:

centos7的添加方式和centos6不用,不是在/etc/init.d/目录下 而是在/lib/systemd/system/目录下

cd  /lib/systemd/system/   //进入目录下

vi  mysql.service     //编辑的同时创建了文件,如果编辑的是mysqld.service  那么下面启动时就应该是systemctl  start mysqld, 添加内容如下:

注意其中的mysql.server在安装目录的support-files目录下,是MySQL的启动脚本

然后可以通过systemctl  restart|start|stop|status  mysql(不是mysqld)来启动了

也可以进入support-files目录下通过./mysql.server start来启动

然后直接输入mysql即可登录,如果登录显示Can’t connect to local mysql server through socket ‘/tmp/mysql.sock’

可执行如下命令:做一个软连接到my.cnf中配置的socket地址

ln -s  /usr/local/mysql/data/mysql.sock  /tmp/mysql.sock

重启MySQL再次登录即可。

说明:

windows和mac系统mysql默认不区分大小写,linux系统则区分大小写(查表查库等),在linux系统的mysql配置文件my.cnf的[mysqld]模块中添加如下内容,即可取消区分大小写

lower_case_names=1  其中1表示不区分,0表示区分 然后重启mysql即可

点击下方百度网盘按钮,可下载相关安装包!!!

标签