怎么在CentOS7下安装MySQL5.7数据库以及配置
admin
2023-05-23 20:43:09
0

  一、MySQL5.7主要特性:

   原生架构支持centos7的Systemd

 (1.)更好的性能:对于多核的CPU、固态硬盘、锁有着更好的优化、更好的innoDB存储引擎。

 (2.)更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也

可以选择使用MySQL数据库。

 (3.)新增sys库:以后这会是DBA访问最频繁的库

 (4.)更好的优化器:优化器的代码重构的意义将在5.7版本及以后的版本中带来巨大的改进

oracle官方正在解决MySQL之前最大的难题,原生JSON类型的支持

注意:JSON(JavaScript object Notation)是一种轻量级的数据交换格式。

JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯

(包括C、C++、C#、Java、JavaScript、Perl、Python等)。

这些特性使JSON成为理想的数据交换语言。易于阅读和编写,同时易于机器解析

和生成(一般用于提升网络传输速率)。

JSON语法是JavaScript对象表示语法的子集

  • 数据在键值对中

  • 数据由逗号分隔

  • 花括号保存对象

  • 方括号保存数组

    用JSON编写的文件,可以代替.yaml格式的文件。(dockerkubernetes中的用的到,创建RC)。

注:mysql-5.6.3 已经支持了多线程的主从复制

二、源码编译安装MySQL5.7

  1.系统环境:centos7.2x64位

怎么在CentOS7下安装MySQL5.7数据库以及配置

因为centos7.2默认安装了mariadb-libs,所以先要卸载掉。

怎么在CentOS7下安装MySQL5.7数据库以及配置

2.安装相关依赖包

cmake:由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要CMAKE编译器,用

于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。

Boot: 从Mysql5.7.5开始Boost库是必需的,MySQL源码中用到了C++的Boost库,要求必须安

装boost1.59.0或以上版本。

GCC是Linux下的C语言编译工具,MySQL源码编译完全由C和C++编写,要求必须安装GCC

bison:Linux下C/C++语法分析器

ncurses:字符终端处理库

下载所需软件:

    下载cmake-3.5.tar.gz http://www.cmake.org/download

     下载ncurses-5.9.tar.gzftp://ftp.gnu.org/gnu/ncurses/

     下载bison-3.0.4.tar.gzhttp://ftp.gnu.org/gnu/bison/

     下载mysql-5.7.13.tar.gz

           wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.18.tar.gz

     下载Boost_1_59_0.tar.gz

            wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

3.安装cmake及相关下载好的软件 

    1.安装cmake:

 怎么在CentOS7下安装MySQL5.7数据库以及配置

怎么在CentOS7下安装MySQL5.7数据库以及配置

cmake -version  查看版本:

  怎么在CentOS7下安装MySQL5.7数据库以及配置

2.安装ncurses:

 怎么在CentOS7下安装MySQL5.7数据库以及配置

3.安装bison:

  怎么在CentOS7下安装MySQL5.7数据库以及配置

4.安装boost:

因为boost是一个提前编译好的软件所以这里无需在进行配置和编译,所以直接移动到指定的目录即可直接使用。

怎么在CentOS7下安装MySQL5.7数据库以及配置

4.创建MySQL用户和用户组及目录

新建MySQL组合MySQL用户,禁止登录shell ,-r选项:代表系统用户

怎么在CentOS7下安装MySQL5.7数据库以及配置

5.编译安装MySQL5.7.18

  (1.)解压mysql源码包:

 怎么在CentOS7下安装MySQL5.7数据库以及配置

   (2.)执行cmake命令前进行编译配置:

  怎么在CentOS7下安装MySQL5.7数据库以及配置

注意:在mysql5.5-5.6版本中是不需要加上-DWITH_SYSTEMD=1参数,否则会报错!!!

   (3.)开始编译安装:

 怎么在CentOS7下安装MySQL5.7数据库以及配置

配置解释:

 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  :mysql安装的根目录

  -DMYSQL_DATADIR=/usr/local/mysql/data     :mysql数据库文件存放目录

 -DSYSCONFDIR=/etc  :mysql配置文件所在目录

 -DWITH_MYISAM_STORAGE_ENGINE=1 :添加MYISAM引擎支持

-DWITH_INNOBASE_STORAGE_ENGINE=1 :添加InnoDB引擎支持

-DWITH_ARCHIVE_STORAGE_ENGINE=1   :添加ARCHIVE引擎支持

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock :指定mysql.sock位置

-DWITH_PARTITION_STORAGE_ENGINE=1 :安装支持数据库分区

-DEXTRA_CHARSETS=all   :使mysql支持所有的扩展字符

-DDEFAULT_CHARSET=utf8 :设置mysql的默认字符集为utf-8

-DDEFAULT_COLLATION=utf8_general_ci  :设置默认字符集校对规则

-DWITH_SYSTEMD=1 :可以使用systemd控制mysql服务

-DWITH_BOOST=/usr/local/boost :指向boost库所在目录

注意:更多参数执行: #cmake . -LH

为了加快编译速度可以按照下面的方式去编译安装:

make  -j   $(grep  processor  /proc/cpuinfo  |  wc   -l )

-j  参数表示根据CPU核数指定编译时的线程数,可以加快编译速度。默认为1个线程编译。

注意:若要重新运行cmake配置,需要删除CMakeCache.txt文件

#make  clean

#rm  -f   CMakeCache.txt

6.优化MySQL的执行路径

怎么在CentOS7下安装MySQL5.7数据库以及配置

怎么在CentOS7下安装MySQL5.7数据库以及配置

7.设置权限并初始化MySQL系统授权表

怎么在CentOS7下安装MySQL5.7数据库以及配置

怎么在CentOS7下安装MySQL5.7数据库以及配置

注意: 以上root初始化操作时要加--initialize参数,生成一个随机密码(注意保存密码登录时使用)

MySQL5.7.6之前的版本执行这个脚本进行初始化系统数据库:

/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data

有密码的初始化:

  #bin/mysqld --initialize   --user=mysql  --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data

无密码的初始化:

#/usr/local/mysql/bin/mysqld --initialize-insecure  --user=mysql --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data

8.创建配置文件

vim  /etc/my.cnf

怎么在CentOS7下安装MySQL5.7数据库以及配置

以上服务器启动失败,查看错误日志文件

怎么在CentOS7下安装MySQL5.7数据库以及配置

在mysqld.service,把默认的pid文件指定到了/var/run/mysqld目录,而并没有事先建立该目录,因此要手动建立该目录并把权限赋给MySQL用户。(这种方法是临时的,因为/var/run/下的目录关机就没有了)。

怎么在CentOS7下安装MySQL5.7数据库以及配置

或者修改/usr/lib/system/system/mysqld.service:

怎么在CentOS7下安装MySQL5.7数据库以及配置

#systemctl   daemon-reload

怎么在CentOS7下安装MySQL5.7数据库以及配置

怎么在CentOS7下安装MySQL5.7数据库以及配置

相关内容

热门资讯

伊朗高官:美试图阻挠伊朗阿曼就... 据伊朗方面4日消息,一名伊朗高级官员说,美国政府试图阻挠伊朗与阿曼之间关于霍尔木兹海峡管理的持续谈判...
铠侠与闪迪发布第十代332层Q... IT之家 8 月 4 日消息,铠侠株式会社今天宣布与闪迪公司共同推出下一代四层单元(QLC)3D 闪...
官方通报卫生巾疑现虫卵:对涉事... 8月4日晚,广西桂林市七星区市场监督管理局发布情况通报:4日,网络上关于“购买的卫生巾疑现虫卵”的信...
奖励一颗小行星命名!中国科学家... 中国科学家又有喜讯了。 综合中国气象报社、科技日报消息,当地时间8月3日,在意大利佛罗伦萨举办的第4...
全球最大通信卫星刚上天,休斯为... 卫星互联网商业模式观察 全球最大通信卫星刚上天, 休斯为什么还是被星链逼到破产? 作者 | 老谭 ...
中国版「生物DeepSeek」... 新智元报道 DeepSeek-V4-Flash正式版刚炸翻全球通用大模型圈,中国生命科学版Deep...
汽车回血,AI烧钱,特斯拉迎来... 文|高恒说 特斯拉开始把造车产线让给机器人。 2026年第二季度,特斯拉拆除了弗里蒙特工厂原有的M...
鸿蒙智行承认投诉“竹知了”视频... 针对“竹知了”玩具相关舆情,鸿蒙智行于8月4日晚发布企业声明,介绍了投诉“竹知了”视频相关情况,也表...
抢劫杀人犯死刑改死缓被害人家属... 澎湃新闻记者 熊强云南宣威市乐丰乡1999年“山村小卖部抢劫杀人案”被害人家属申诉迎来新进展:家属徐...
乘客投诉绕路遭出租车司机持铁棍... 8月4日晚,太原市公安局小店分局官方微博通报:7月20日凌晨2时许,我局接到群众报警,小店区体育路许...