1.mysql学习笔记:mysql的源码安装

原创 2015年11月18日 14:40:21

mysql的源码安装


mysql简介

(摘自开源中国)
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。


MySQL的特性

使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性:

支持AIX、BSDi、FreeBSD、HP-UX、Linux、MacOS、Novell Netware、NetBSD、OpenBSD、OS/2 Wrap、Solaris、SunOS、Windows等多种操作系统。
为多种编程语言提供了API。这些编程语言包括C、C++、C#、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
支持多线程,充分利用CPU资源,支持多用户。
优化的SQL查询算法,有效地提高查询速度。
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
提供用于管理、检查、优化数据库操作的管理工具。
可以处理拥有上千万条记录的大型数据库。

接下来我们介绍如何安装mysql数据库


mysql的源码安装

安装步骤:

(1)解压安装包:
[root@server5 mnt]# tar xvf mysql-5.5.12.tar.gz

(2)配置

进入解压目录:
[root@server5 mnt]# cd mysql-5.5.12

解决安装的依赖性:
[root@server5 mysql-5.5.12]# yum install gcc gcc-c++ make ncurses-devel biso openssl-devel zlib-devel cmake -y

构建标准建构档(生成的文件 CmakeList.txt 相当于 Makefile 文件):
[root@server2 mysql-5.5.12]# cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \
-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=yes \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DMYSQL_TCP_PORT=3306 \

(3)得到可编译文件 CmakeList.txt 执行编译:
[root@server5 mysql-5.5.12]# ll CMakeLists.txt
-rw-r–r– 1 7161 wheel 12954 Apr 11 2011 CMakeLists.txt

(4)执行编译:
[root@server5 mysql-5.5.12]# make && make install


mysql初始化

(1)进入到安装目录,根据当前系统内存的大小选择合适的配置文件覆盖/etc/my.cnf:
[root@server5 support-files]# pwd
/usr/local/lnmp/mysql/support-files
[root@server5 support-files]# cp my-medium.cnf /etc/my.cnf

(2)更改启动文件,放置到/etc/init.d/目录中:
[root@server5 support-files]# cp mysql.server /etc/init.d/mysqld

(3)添加 mysql 命令到环境变量:
[root@server2 bin]# pwd
/usr/local/lnmp/mysql/bin
[root@server2 bin]# vim /root/.bash_profile
/省略/
PATH=PATH:HOME/bin:/usr/local/lnmp/mysql/bin
/省略/
(4)加载修改后的环境变量:
[root@server2 bin]# source /root/.bash_profile
(5)创建 mysql 用户:
[root@server2 bin]# useradd -M -u 27 -d /usr/local/lnmp/mysql/ -s/sbin/nologin mysql
[root@server2 bin]# groupmod -g 27 mysql
[root@server2 bin]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)

(6)修改/usr/local/lnmp/mysql 的所属用户和所属组(包括其中的文件和目
录):
[root@server2 lnmp]# chown mysql.mysql /usr/local/lnmp/mysql/ -R
[root@server2 lnmp]# ll
total 4
drwxr-xr-x. 13 mysql mysql 4096 Oct 27 14:55 mysql
[root@server2 lnmp]#

(7)指定数据库的 basedir 和 datadir 以及 user:
[root@server2 scripts]# ./mysql_install_db –user=mysql
–basedir=/usr/local/lnmp/mysql/ –datadir=/usr/local/lnmp/mysql/data/

(8)再次修改文件所属用户和组:
[root@server2 lnmp]#chown root.root /usr/local/lnmp/mysql/ -R
[root@server2 lnmp]#chown mysql.mysql /usr/local/lnmp/mysql/data -R

(9)开启 mysql 服务:
[root@server2 lnmp]# /etc/init.d/mysqld start


版权声明:本文为博主原创文章,未经博主允许不得转载。

1.zabbix学习笔记:zabbix的安装

zabbix的安装为什么需要监控随着互联网公司业务不断增长,硬件规模不断扩大,作为SA我们需要清楚每一台服务器的状态(温度、CPU使用率、内存使用率、磁盘使用率等),如果使用人为的方式将会极大增加工作...

3.zabbix学习笔记:zabbix的基本配置和使用(二)

zabbix的基本配置和使用(二)zabbix 添加主机在上节中我们介绍了zabbix 下如何添加用户组以及模板的添加,在本章节中将会对具体的host配置进行讲解。首先我们添加一个主机到主机组agen...

Mysql学习笔记1

  • 2012年07月25日 16:45
  • 35KB
  • 下载

mysql 源码学习笔记:mysqld启动流程

mysql 5.7.16 源码学习笔记:mysqld启动流程 主要介绍mysqld启动过程中,对各个模块的启动顺序,为后续深入学习打下基础。...

mysql源码学习笔记:内存管理模块MEM_ROOT

源码为mysql-5.7.16社区版。 MEM_ROOT为mysql的内存管理模块,用于统一申请和释放内存,减少在堆中的内存申请操作的次数,以提升性能。这种内存管理的方法可以移植到其他的应用程序中,用...

mysql 源码学习笔记:配置文件和命令行参数的装载

mysql可以通过加载配置文件或者在启动时输入命令行参数的方式来完成初始化系统变量、装载插件等操作。本文主要梳理了装载配置文件和命令参数的过程,以及配置文件内容和命令行参数生效的过程。 mysql版本...

mysql源码学习笔记:文件读写模块IO_CACHE

概述 IO_CACHE为mysql读写文件的模块,在mysql操作文件时,通过该模块与文件进行交互。该模块类似于mysql的文件缓存,通过对文件的整读、整写来提高mysql的io效率。读写binlog...

mysql 源码学习笔记:客户端连接处理流程

mysql通过监听本地unix sock和tcp连接的端口,分别处理本机和远程客户端的连接,以每个客户端连接对应一个线程的(默认)方式,处理客户端发送的命令。 版本为mysql-5.7.16社区版,这...

MySQL学习笔记1安装

1. download mysql-5.5.41-linux2.6-i686.tar.gz 2. to execute pre steps tar -xzvf mysql-5.5.41-linux2....
  • coollye
  • coollye
  • 2015年01月28日 23:52
  • 195
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1.mysql学习笔记:mysql的源码安装
举报原因:
原因补充:

(最多只允许输入30个字)