博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据库源码包安装(5.7最新版本)
阅读量:6703 次
发布时间:2019-06-25

本文共 3228 字,大约阅读时间需要 10 分钟。

简介

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL关系型数据库于1998年1月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。

实验环境

系统环境:centos 7

宿主机IP地址:192.168.100.201

yum挂载目录:/mnt/sr0

相关源码包链接: 密码:t927

mysql-5.7.17.tar.gz 软件包的安装目录空间最小不少于8G,否则make完成后会报警空间不足!

实验目标

搭建出MySQL数据库基础服务

实验步骤

1.安装环境包

yum -y install \

ncurses \ #提供字符终端处理库
ncurses-devel \ #字符终端下屏幕控制的基本库
bison \ #gcc gcc-c++的语法分析器
cmake #跨平台的安装工具

2.源码编译及安装

(1)创建运行账户

useradd -s /sbin/nologin mysql

(2)解包

tar zxvf mysql-5.7.17.tar.gz -C /opt/

tar zxvf boost_1_59_0.tar.gz -C /usr/local/ #c++运行库
cd /usr/local/ #需要指向的路径,便于识别
mv boost_1_59_0 boost #重命名

(3)配置

cd mysql-5.7.17/

cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \         #安装目录-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \   #连接文件-DSYSCONFDIR=/etc \                        # mysql配置文件存在路径-DSYSTEMD_PID_DIR=/usr/local/mysql \         #进程文件所在路径-DDEFAULT_CHARSET=utf8  \                    #字符集-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_INNOBASE_STORAGE_ENGINE=1 \          #存储引擎-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据库文件所在路径-DWITH_BOOST=/usr/local/boost \         #支持c++运行库-DWITH_SYSTEMD=1                      #使系统支持mysql

(4)编译及安装

make && make install

MySQL数据库源码包安装(5.7最新版本)

备注:此过程等待时间很长,约40分钟左右,要有心理准备!
3.安装后的调整

(1)对数据库目录进行权限设置

[root@localhost etc]# chown mysql:mysql /etc/my.cnf

[root@localhost etc]# ls -l | grep "my.cnf" #查看权限
-rw-r--r--. 1 mysql mysql 728 8月 23 02:15 my.cnf #权限已改为mysql
drwxr-xr-x. 2 root root 31 7月 28 04:14 my.cnf.d

(2)建立配置文件

[root@localhost mysql-5.5.24]# cp support-files/my-medium.cnf /etc/my.cnf #创建配置文件

[root@localhost mysql-5.5.24]# vim /etc/my.cn #修改配置文件

[client] #客户端

port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql] #服务端

port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld] #针对于服务本身而言进行设定

user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

(3)初始化数据库

cd /usr/local/mysql/

bin/mysqld \

--initialize-insecure \ #生成数据库密码,为空
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

(4)设置环境变量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile #环境变量文件

echo 'export PATH' >> /etc/profile #设置全局模式
source /etc/profile #执行使其生效

4.添加系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ #复制启动脚本

systemctl daemon-reload #刷新识别启动脚本
systemctl start mysqld #启动MySQL

netstat -anpt | grep 3306 #查看端口

[root@localhost mysql]# netstat -anpt | grep 3306
tcp6 0 0 :::3306 :::*

systemctl enable mysqld #添加开机自启动

mysqladmin -u root -p password "abc123" #设置登陆密码

mysql -uroot –p123 #登录mysql

MySQL数据库源码包安装(5.7最新版本)

5.实现远程登录

grant all privileges on . to 'root'@'%' identified by 'abc123' with grant option; #设置权限,实现远程登陆

转载于:https://blog.51cto.com/13760351/2164507

你可能感兴趣的文章
精心挑选12款优秀的 JavaScript 日历和时间选择插件
查看>>
iphone sdk
查看>>
如何获取jqGrid中选择的行的数据
查看>>
ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
查看>>
Android 获取自带浏览器上网记录
查看>>
c++ 静态持续变量
查看>>
MFC超链接静态类的使用
查看>>
我所遭遇过的游戏中间件---SpeedTree
查看>>
Js判断CSS文件加载完毕的实例教程
查看>>
【ASP.NET Web API教程】1.1 第一个ASP.NET Web API
查看>>
21 Free SEO Tools For Bloggers--reference
查看>>
设计模式之前奏(UML类图)
查看>>
Extjs4 中在指定光标处插入值
查看>>
csharp .net vb 复制图像
查看>>
android:versionCode和android:versionName 用途(转)
查看>>
android之SeekBar控件用法
查看>>
Fragment Transactions & Activity State Loss
查看>>
jQuery插件 -- 表单验证插件jquery.validate.js
查看>>
我的MYSQL学习心得(十四) 备份和恢复
查看>>
【技术贴】解决MySql连接不上 ip远程连接Host is not allowed to conn
查看>>