MySQL 源码安装

1. MySQL 简介

MySQL 是最流行的关系型数据库管理系统,在Web应用方面MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一

  • MySQL是开源的,不需要支付额外的费用
  • MySQL 支持大型的数据库,可以处理拥有上千万的条记录的大型数据库
  • MySQL 使用标准的SQL数据语言形式
  • MySQL 可以运行在多个系统上,并且支持多种语言,这些变成语言包括 C、C++ 、Python 、Java 、Perl、PHP、Eiffel、Ruby 和 Tcl 等
  • MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言
  • MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB
  • MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统

2. 编译配置模块

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql	//指定安装路径
	-DMYSQL_DATADIR=/usr/local/mysql/data	//数据库目录
	-DSYSCONFDIR=/opt/data		//指定初始化参数文件目录
	-DWITH_MYISAM_STORAGE_ENGINE=1		//存储引擎
	-DWITH_INNOBASE_STORAGE_ENGINE=1	//存储引擎
	-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock	//指定套接字路径
	-DMYSQL_TCP_PORT=3306		//端口
	-DENABLED_LOCAL_INFILE=1		//允许从本地导入数据
	-DWITH_PARTITION_STORAGE_ENGINE=1	//静态存储引擎
	-DDEFAULT_CHARSET=utf8		//指定默认使用的字符集编码,例如 utf8
	-DDEFAULT_COLLATION=utf8_general_ci	//指定默认使用的字符集校对规则,utf8_general_ci是适用于UTF-8字符集的通用规则(指定校验字符串)
	-DWITH_EXTRA_CHARSETS=all 	//指定额外支持的其他字符集编码
	-DDOWNLOAD_BOOST=1		//在线下载支持C语言的包
	-DWITH_BOOST=/usr/local/boost	//指定boost下载位置

3. 数据库主配置文件

  • 位于 /etc/my.cnf
datadir=			//存放数据库的目录
	socket=			//套接字文件
	user=MySQL		//管理用户
	symbolic-links=0 		//禁用符号链接
	log-error=		//错误日志
	pid-file=			//进程ID文件,修改为本身的主机名

MySQL 源码安装

  1. 安装 cmake
  • cmake 是一个跨平台的安装(编译)工具,他是可以用简单的语句来描述所有的平台安装

  • 源码安装cmake

    • 下载地址:https://cmake.org/download/
  • 解压tar包

 tar -zxvf cmake-3.15.1.tar.gz -C /usr/src/
  • 编译安装
[root@localhost ~]# cd /usr/src/cmake-3.15.1/
[root@localhost cmake-3.15.1]# ./configure 	
[root@localhost cmake-3.15.1]# gmake && gmake install			## 编译并安装
  1. 编译安装MySQL
  • 解决依赖关系
yum -y install ncurses ncurses-devel
  • 解包
 tar -zxvf mysql-5.6.33.tar.gz -C /usr/src/
  • 编译配置安装
[root@localhost ~]# cd /usr/src/mysql-5.6.33/
[root@localhost mysql-5.6.33]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

参数:

	 使用cmake 进行编译配置
	 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql		// 指定MySQL安装目录
	 -DSYSCONFDIR=/etc/						  // 指定MySQL主配置文件的目录
	 -DDEFAULT_CHARSET=utf8					  // 指定MySQL的默认字符集
	 -DDEFAULT_COLLATION=utf8_general_ci		   // 指定mysql的默认排序规则	表示不区分大小写
	 -DWITH_EXTRA_CHARSETS=all					  // 指定MySQL支持的其他字符集 all为所有
  • 编译安装
make && make install

3) 创建MySQL运行用户

 useradd -M -s /sbin/nologin mysql

4) 更改MySQ根目录的属主属组

 chown -R mysql:mysql /usr/local/mysql/

5) copy 数据库配置文件模板

[root@localhost ~]# cd /usr/local/mysql/support-files/
[root@localhost support-files]# cp my-default.cnf /etc/my.cnf

  • 修改其配置文件
[root@localhost scripts]# vim /etc/my.cnf
	basedir = /usr/local/mysql
	datadir = /usr/local/mysql/data
 	port = 3306
	# server_id = .....
	# socket = .....
 	pid-file=/usr/local/mysql/data/localhost-localdomain.pid

6) 添加MySQL变量到系统变量

 echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
 source /etc/profile

7) 初始化数据库

  • 编译安装完成后必须初始化数据库,相当于硬盘使用必须要初始化
[root@localhost support-files]# cd /usr/local/mysql/scripts/
[root@localhost scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
	# --user=mysql 					   指定mysql的运行用户
	# --basedir=/usr/local/mysql		指定数据库的保存路径
	# --datadir=/usr/local/mysql/data	指定数据库的数据保存路径

如果报错:

FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db:
	Data::Dumper

解决方法:

 yum -y install autoconf

8) 优化路径

ln -s /usr/local/mysql/bin/* /usr/bin
ln -s /usr/local/mysql/include/* /usr/include/
ln -s /usr/local/mysql/lib/* /usr/lib
  1. 将MySQL添加至系统服务
[root@localhost ~]# cd /usr/local/mysql/support-files/
[root@localhost support-files]# cp mysql.server /etc/rc.d/init.d/mysqld
  • 赋予执行权限
chmod +x /etc/init.d/mysqld
  • 添加系统管理工具
chkconfig --add mysqld
  1. 启动服务
systemctl start mysqld
  1. 修改 root 登录密码
mysqladmin -u root password 'password'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值