码迷,mamicode.com
首页 > 数据库 > 详细

MySQL数据库的编译安装

时间:2018-08-26 15:38:31      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:环境   com   pip   分析器   water   远程   进程   emc   image   

简介

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

相关源码包链接:https://pan.baidu.com/s/1f3v-qM-vwK-nT-EKEScZkQ 密码: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
技术分享图片
备注:此过程等待时间很长,约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 #查看端口

systemctl enable mysqld #添加开机自启动

mysqladmin -u root -p password "abc123" #设置登陆密码
mysql -uroot –p123 #登录mysql
技术分享图片

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

MySQL数据库的编译安装

标签:环境   com   pip   分析器   water   远程   进程   emc   image   

原文地址:http://blog.51cto.com/13760351/2164507

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!