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 源码安装
- 安装 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 ## 编译并安装
- 编译安装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
- 将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
- 启动服务
systemctl start mysqld
- 修改 root 登录密码
mysqladmin -u root password 'password'