CentOS 7.2 编译安装 MySQL 5.7.14
CentOS 7.2 编译安装 MySQL 5.7.14
一、环境准备
1、查看系统版本
1 2 3 4 | [root@lnmp ~]# cat /etc/RedHat-release CentOS Linux release 7.2.1511 (Core) [root@lnmp ~]# uname -r 3.10.0-327.28.2.el7.x86_64 |
2、卸载系统自带的mysql/mariadb数据库及boost旧版本
rpm -qa | grep mysql rpm -qa | grep mariadb rpm -e --nodeps boost-system-1.53.0-25.el7.x86_64 rpm -e --nodeps boost-thread-1.53.0-25.el7.x86_64 rpm -e mariadb-libs-5.5.47-1.el7_2.x86_64 rpm -e --nodeps mariadb-libs-5.5.47-1.el7_2.x86_64 boost官网http://www.boost.org/ ,yum -y install boost boost-devel boost-doc安装的是boost1.53版本
3、准备安装文件
[root@lnmp mysql]# ll total 131096 drwx------ 10 501 games 4096 Aug 17 15:02 boost_1_59_0 -rw-r--r-- 1 root root 83709983 Aug 13 2015 boost_1_59_0.tar.gz drwxr-xr-x 37 7161 31415 4096 Aug 17 15:48 mysql-5.7.14 -rw-r--r-- 1 root root 50517329 Aug 17 14:38 mysql-5.7.14.tar.gz 说明:mysql5.7系列指定boost版本为boost_1_59_0。 资源下载地址: wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz wget ftp://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.7/mysql-5.7.14.tar.gz
4、依赖包安装
yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl-Data-Dumper net-tools
二、安装boost/mysql
1、安装boost
1 tar xvf boost_1_59_0 2 cd boost_1_59_0 3 ./bootstrap.sh --with-libraries=system,filesystem,log,thread --with-toolset=gcc 4 ./b2 toolset=gcc cxxflags="-std=c++11" 5 ./b2 install --prefix=/usr/local/boost
#备注:上面红色字体的内容,参考如下配置;上面绿色字体内容代表使用c++11标准,编译的库要使用统一标准。不使用,去掉绿色字体内容。
1 Component configuration: 2 - atomic : not building 3 - chrono : not building 4 - context : not building 5 - coroutine : not building 6 - date_time : not building 7 - exception : not building 8 - filesystem : building 9 - graph : not building 10 - graph_parallel : not building 11 - iostreams : not building 12 - locale : not building 13 - log : building 14 - math : not building 15 - mpi : not building 16 - program_options : not building 17 - python : not building 18 - random : not building 19 - regex : not building 20 - serialization : not building 21 - signals : not building 22 - system : building 23 - test : not building 24 - thread : building 25 - timer : not building 26 - wave : not building #默认安装在/usr/local/lib目录下;头文件在/usr/local/include/boost目录下;install后面可以加参数 --prefix=/usr 来设置安装路径 #如果提示boost版本不对应则卸载boost安装对应版本boost 2、编译安装mysql 1 tar xvf mysql-5.7.14.tar.gz 2 cd mysql-5.7.14 3 4 cmake \ 5 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #MySQL的安装目录 6 -DMYSQL_DATADIR=/usr/local/mysql/data \ #MySQL的数据目录 7 -DSYSCONFDIR=/etc \ #my.cnf路径 8 -DWITH_MYISAM_STORAGE_ENGINE=1 \ #启用MySQL的myisam引擎 9 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #启用MySQL的innobase引擎 10 -DWITH_MEMORY_STORAGE_ENGINE=1 \ #启用MySQL的memory引擎 11 -DWITH_READLINE=1 \ #启用readline库支持(提供可编辑的命令行) 12 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ #连接数据库socket路径 13 -DMYSQL_TCP_PORT=3306 \ #MySQL端口 14 -DENABLED_LOCAL_INFILE=1 \ #允��从本地导入数据 15 -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区 16 -DEXTRA_CHARSETS=all \ #安装所有的字符集 17 -DDEFAULT_CHARSET=utf8 \ #设置默认字符集为utf-8 18 -DDEFAULT_COLLATION=utf8_general_ci \ #设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确) 19 -DDOWNLOAD_BOOST=1 \ #下载boost 20 -DWITH_BOOST=/usr/local//boost #boost的安装目录 21 22 make && make install
三、配置mysql
1、创建用户,初始化数据库
groupadd mysql useradd -g mysql -s /sbin/nologin mysql
2、授权mysql数据库目录
chown -R mysql:mysql /usr/local/mysql
3、初始化mysql数据库
/usr/local/mysql/bin/mysqld \--initialize \ --user=mysql \ --datadir=/usr/local/mysql/data/
4、拷贝配置文件,修改配置文件
1 cp support-files/my-default.cnf /etc/my.cnf 2 [root@lnmp ~]# cat /etc/my.cnf 3 # For advice on how to change settings please see 4 # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html 5 # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the 6 # *** default location during install, and will be replaced if you 7 # *** upgrade to a newer version of MySQL. 8 [mysqld] 9 # Remove leading # and set to the amount of RAM for the most important data 10 # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. 11 # innodb_buffer_pool_size = 128M 12 character_set_server=utf8 13 init_connect='SET NAMES utf8' 14 #skip-grant-tables 15 # Remove leading # to turn on a very important data integrity option: logging 16 # changes to the binary log between backups. 17 # log_bin 18 # These are commonly set, remove the # and set as required. 19 # basedir = ..... 20 #datadir = /usr/local/mysql/data 21 # port = ..... 22 # server_id = ..... 23 # socket = ..... 24 # Remove leading # to set options mainly useful for reporting servers. 25 # The server defaults are faster for transactions and fast SELECTs. 26 # Adjust sizes as needed, experiment to find the optimal values. 27 # join_buffer_size = 128M 28 # sort_buffer_size = 2M 29 # read_rnd_buffer_size = 2M 30 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 31 [client] 32 default-character-set=utf8
5、拷贝启动文件,并授权
1、cp support-files/mysql.server /etc/init.d/mysqld 2、chmod 755 /etc/init.d/mysqld
6 、启动数据库
/etc/init.d/mysqld start
三、更改初始化生成的数据库密码
注:由于5.7版本会初始化设置密码,需要自己修改,跟之前的数据库版本更改方式不一样。
完整的更改MySQL密码的方式如下:
- vim /etc/my.cnf 加入skip-grant-tables,免密码登录数据库
注:我这里注释掉是改完之后再演示的。
- 重启MySQL数据库
相关推荐
emmm00 2020-11-17
王艺强 2020-11-17
aydh 2020-11-12
世樹 2020-11-11
zry 2020-11-11
URML 2020-11-11
spurity 2020-11-10
yifangs 2020-10-13
Andrea0 2020-09-18
Ida 2020-09-16
ltd00 2020-09-12
tufeiax 2020-09-03
xjd0 2020-09-10
greatboylc 2020-09-10
adsadadaddadasda 2020-09-08
疯狂老司机 2020-09-08
CoderToy 2020-11-16
ribavnu 2020-11-16
bianruifeng 2020-11-16