mysql5.7安装步骤(linux下源码编译安装)
⽬录
综述:
最近在linux系统搭建MySQL数据库,需要搭建5.7的版本,过程中也踩了不少坑,把安装的过程做个分享,希望⼤家少踩坑。本次安装是安装的msyql5.7.12 的版本,采⽤的是源码编译安装的⽅式
切记:内存⾄少要⼤于2G
下载地址:
提取码:512l
安装依赖包
⾸先要安装依赖包,这些依赖包⽤来安装我们等会需要安装的⼯具
yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl-Data-Dumper net-tools
安装过程
1.检查m4是否安装
有些环境这个m4的包是没有安装的,需要先检查⼀下,如果没有安装则需要先安装m4包
rpm -qa |grep m4
没有结果则表⽰没有安装
tar -xvf m4-1.4.
chown -R root:root m4-1.4.18 ## -->如果解压之后权限不是root,则需要执⾏
cd m4-1.4.18
./configure --prefix=/usr/local/m4-1.4.18 ##-->指定安装路径为:/usr/local/m4-1.4.18
make && make install
vim /etc/profile
#在最后⼀⾏加上:
export PATH=/usr/local/m4-1.4.18/bin:$PATH
source /etc/profile
2.安装gmp
tar xvf gmp-4.3.2.tar.bz2
cd gmp-4.3.2/ #-->如果解压之后权限不是root,则需要执⾏
chown -R root:root gmp-4.3.2/
./configure --prefix=/usr/local/gmp-4.3.2 -->指定安装路径
make && make install
3.安装mpfr
tar zxvf mpfr-2.4.
chown -R root:root ./ 如果解压之后权限不是root,则需要执⾏
cd mpfr-2.4.2/
./configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2 ##-->指定安装路径和gmp路径
make && make install
4.安装mpc
tar zxvf mpc-0.8.
chown -R root:root ./ 如果解压之后权限不是root,则需要执⾏
cd mpc-0.8.1/
./configure --prefix=/usr/local/mpc-0.8.1 --with-mpfr=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2 -指定安装路径,mpfr和gmp路径
make && make install
ln -s /usr/local/mpc-0.8.1/lib/libmpc.so.2 /usr/lib/libmpc.so.2
ln -s /usr/local/mpc-0.8.1/lib/libmpc.so.2 /usr/lib64/libmpc.so.2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-
2.4.2/lib
5.安装gcc
需要⾼版本的gcc,本次安装的是4.8.0版本的
tar zxvf gcc-4.8.
chown -R root:root ./ -->如果解压之后权限不是root,则需要执⾏
cd gcc-4.8.0
./configure --prefix=/usr/local/gcc-4.8.0 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3. make && make install
##rm -f gcc g++ cc c++ -->此步骤执⾏后没删除⽂件且报错,可忽略
/usr/local/gcc-4.8.0/bin/x86_64-unknown-linux-gnu-c++ c++ -->此步骤也可忽略
在/etc/prfile⽂件末尾追加
export PATH=/usr/local/gcc-4.8.0/bin:$PATH
source /etc/profile
是新版本的gcc⽣效
6.安装cmake
tar zxvf cmake-3.7.
chown -R root:root ./ #-->如果解压之后权限不是root,则需要执⾏
cd cmake-3.7.2
./bootstrap
gmake
gmake install
7.安oost_1_59
安装MySQL5.7.12要求boost_1_59_0版本
tar xvf boost_1_59_
chown -R root:root ./ #-->如果解压之后权限不是root,则需要执⾏
cd boost_1_59_0
./bootstrap.sh --with-libraries=system,filesystem,log,thread --with-toolset=gcc
./b2 toolset=gcc cxxflags="-std=c++11"
./b2 install
注意:
默认安装在/usr/local/lib⽬录下;头⽂件在/usr/local/include/boost⽬录下;install后⾯可以加参数 --prefix=/usr 来设置安装路径如果安装msyql时提⽰boost版本不对应则卸载boost安装对应版本boost
boost卸载⽅法:
1.显⽰已经安装⽂件
rpm -qa | grep boost
2.使⽤⼀下命令依次卸载
rpm -e --nodeps xxxx
8.安装mysql
tar xvf mysql-boost-5.7.
chown -R root:root ./ #-->如果解压之后权限不是root,则需要执⾏
cd mysql-5.7.12
cmake \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/app/mysql/mysql_data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/app/mysql/mysql.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 \
-DWITH_BOOST=boost/boost_1_59_0
make && make install
#如果要重新安装需要清理make,删除⽂件
make clean
#然后可以重新 cmake
解释:
-DCMAKE_INSTALL_PREFIX=/app/mysql \ mysql安装⽬录
-
DMYSQL_DATADIR=/app//mysql /mysql_data \ >mysql数据⽂件⽬录
-DMYSQL_UNIX_ADDR=/app/mysql /mysql.sock 设置监听套接字路径,这必须是⼀个绝对路径名。默认为/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name 设置服务器的字符集。
缺省情况下,MySQL使⽤latin1的(CP1252西欧)字符集。cmake/ake⽂件包含允许的字符集名称列表。
-DDEFAULT_COLLATION=collation_name 设置服务器的排序规则。
mysql下载配置-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
静态编译⼀个存储引擎到服务器,使⽤-DWITH_engine_STORAGE_ENGINE= 1
可⽤的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
-DMYSQL_TCP_PORT=port_num 设置mysql服务器监听端⼝,默认为3306
-DENABLE_DOWNLOADS=bool 是否要下载可选的⽂件。例如,启⽤此选项(设置为1),cmake将下载⾕歌所使⽤的测试套件运⾏单元测试。
9.初始化mysql
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /app/mysql
cp /app/mysql/support-files/mysql.server /etc/init.d/mysql
cp /app/mysql/support-files/my-defaultf /etc/myf
chmod -R 755 /etc/init.d/mysql
bin/mysql_install_db --basedir=/app/mysql --datadir=/app/mysql/mysql_data --user=mysql
#设置开机⾃启
chkconfig --add mysql
chkconfig --level 345 mysql on
#添加环境变量 /etc/profile最后⼀⾏
vi /etc/profile
#在最后⼀⾏后⾯添加
export PATH=/app/mysql/bin:$PATH
source /etc/profile
vim /etc/myf ⽂件
#我的myf⽂件如下;
[mysqld]
basedir = /app/mysql
datadir = /app/mysql/mysql_data
port = 3306
server_id = 1
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
default-character-set=utf8
在启动MySQL服务时,会按照⼀定次序搜索myf,先在/etc⽬录下,不到则会搜索"$basedir/myf",在本例中就是
/
usr/local/mysql/myf,这是新版MySQL的配置⽂件的默认位置!在CentOS 6.4版操作系统的最⼩安装完成后,在/etc⽬录下会存在⼀个myf,否则,该⽂件会⼲扰源码安装的MySQL的正确配置,造成⽆法启动。
解决⽅案⼀:改名
mv /etc/myf /etc/myf.bak
以后在使⽤"yum update"更新系统后,需要检ls查下/etc⽬录下是否会多出⼀个myf,如果多出,将它重命名成别的。否则,MySQL 将使⽤这个配置⽂件启动,可能造成⽆法正常启动等问题。
解决⽅案⼆:直接⽤mysql默认配置覆盖彻底解决(推荐)
cp /app/mysql /support-files/my-defaultf /etc/myf
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论