源码安装 mysql5.7
MySQL 是一个关系型数据库管理系统, 由瑞典 MySQL AB 公司开发, 目前属于 Oracle 旗下产品 MySQL 是最流行的关系型数据库管理系统之一, 在 web 应用方面, MySQL 是最好的 RDBMS (Relational Database Management System, 关系数据库管理系统) 应用软件
MySQL 是一种关系数据库管理系统, 关系数据库将数据保存在不同的表中, 而不是将所有数据放在一个大仓库内, 这样就增加了速度并提高了灵活性
MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言 MySQL 软件采用了双授权政策, 分为社区版和商业版, 由于其体积小速度快总体拥有成本低, 尤其是开放源码这一特点, 一般中小型网站的开发都选择 MySQL 作为网站数据库
由于其社区版的性能卓越, 搭配 PHP 和 Apache 可组成良好的开发环境
1. 安装依赖包
[root@localhost ~]# yum install - y cmake gcc - c++ ncurses - devel perl - Data - Dumper boost boost - doc boost - devel
2. 下载安装包解压并编译安装
- [root@localhost ~]# cd /usr/local/src/
- [root@localhost src]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz
- [root@localhost src]# tar -xf mysql-boost-5.7.20.tar.gz
- [root@localhost src]# cd mysql-5.7.20/
- [root@localhost mysql-5.7.20]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/mydata -DSYSCONFDIR=/usr/local/mysql/conf -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 -DWITH_SSL:STRING=bundled -DWITH_ZLIB:STRING=bundled -DWITH_SYSTEMD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost
- [root@localhost mysql-5.7.20]# make && make install
解析
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ [MySQL 安装的根目录]
-DMYSQL_DATADIR=/usr/local/mysql/mydata \ [MySQL 数据库文件存放目录]
-DSYSCONFDIR=/usr/local/mysql/conf \ [MySQL 配置文件所在目录]
-DMYSQL_USER=mysql \ [MySQL 用户名]
-DWITH_MYISAM_STORAGE_ENGINE=1 \ [MySQL 的数据库引擎]
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ [MySQL 的数据库引擎]
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ [MySQL 的数据库引擎]
-DWITH_MEMORY_STORAGE_ENGINE=1 \ [MySQL 的数据库引擎]
-DWITH_READLINE=1 \ [MySQL 的 readline library]
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ [MySQL 的通讯目录]
-DMYSQL_TCP_PORT=3306 \ [MySQL 的监听端口]
-DENABLED_LOCAL_INFILE=1 \ [启用加载本地数据]
-DENABLE_DOWNLOADS=1 \ [编译时允许自主下载相关文件]
-DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all \ [使 MySQL 支持所有的扩展字符]
-DDEFAULT_CHARSET=utf8 \[设置默认字符集为 utf8]
-DDEFAULT_COLLATION=utf8_general_ci \ [设置默认字符校对]
-DWITH_DEBUG=0 \[禁用调试模式]
-DMYSQL_MAINTAINER_MODE=0 -DWITH_SSL:STRING=bundled \ [通讯时支持 ssl 协议]
-DWITH_ZLIB:STRING=bundled [允许使用 zlib library]
-DDOWNLOAD_BOOST=1 \ [允许在线更新 boost 库]
-DWITH_BOOST=/boost [指定 boost 安装路径]
3. 创建数据存放及配置文件目录及用户
- [root@localhost ~]# mkdir -p /usr/local/mysql/mydata
- [root@localhost ~]# mkdir /usr/local/mysql/conf
- [root@localhost ~]# useradd mysql
- [root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/
4. 编辑配置文件
- [root@localhost ~]# mv /etc/my.cnf /usr/local/mysql/conf/
- [root@localhost ~]# cd /usr/local/mysql/conf/
- [root@localhost conf]# chown mysql:mysql my.cnf
- [root@localhost conf]# cat my.cnf
- [mysqld]
- datadir=/usr/local/mysql/mydata
- socket=/usr/local/mysql/mysql.sock
5. 把默认的 pid 和 log 文件指定到 / var/run/mysqld / 目录和 / var/log/mysqld / 目录 (可自定义), 并没有事先建立该目录, 因此要手动建立该目录并赋权
- [root@localhost conf]# cat my.cnf
- [mysqld_safe]
- log-error=/var/log/mysqld/mysqld.log
- pid-file=/var/run/mysqld/mysql.pid
- [root@localhost conf]# mkdir /var/log/mysqld
- [root@localhost conf]# mkdir /var/run/mysqld
- [root@localhost conf]# chown -R mysql:mysql /var/log/mysqld
- [root@localhost conf]# chown -R mysql:mysql /var/run/mysqld
6. 初始化数据库, 白框为数据库 root 密码 (可在日志中查找或者跳过数据库授权, 并重置密码)
[root@localhost ~]# / usr / local / mysql / bin / mysqld --initialize --user = mysql --basedir = /usr/local / mysql / --datadir = /usr/local / mysql / mydata /
7. 复制 mysqld 自带的 systemd 启动文件
- [root@localhost ~]# cp /usr/local/src/mysql-5.7.20/scripts/mysqld.service /usr/lib/systemd/system/
- [root@localhost ~]# chown 775 /usr/lib/systemd/system/mysqld.service
8. 启动 mysql
9. 进入数据库, 用刚才的密码登录, 并重置密码
10. 新密码登录
end!!!!!!!!!!!
源码安装 mysql5.7
来源: http://www.bubuko.com/infodetail-2489735.html