Linux环境下源码安装Mysql
Linux环境下源码安装Mysql
系统环境
virtualBox-5.1.26
ubuntu16.04LTS 64位:内存>2G,虚拟机空间>50G
##安装条件
1. cmake
MySQL使用cmake可跨平台生成makefile文件工具
1 sudo apt-get install cmake
2. bison
Linux下C/C++语法分析器.
1 | sudo apt-get install bison |
3. gcc
Linux下C语言编译工具,mysql源码编译由C和C++编写(Ubuntu默认已装)
4. ncurses
字符终端处理库
1 | sudo apt-get install libncurses5-dev |
5. Boost 1.59.0
源码编译安装需要Linux环境
##安装步骤
1. 下载源码解压源代码(以mysql5.7.19为例)
1 | tar -zxvf mysql-boost-5.7.19.tar.gz |
2. 创建mysql用户组
1 | sudo groupadd mysql //建立mysql用户组 |
3. 文件管理
1 | chown -R mysql /usr/local/mysql //给予mysql用户和用户组文件操作权限 |
详情
4. 进入解压后的目录,配置安装信息
1 | cd mysql-5.7.19 |
详细配置:
用cmake配置mysql预编译参数:
-DCMAKE_INSTALL_PREFIX:安装路径
-DMYSQL_DATADIR:数据存放目录
-DWITH_BOOST:boost源码路径
-DSYSCONFDIR:my.cnf配置文件目录
-DEFAULT_CHARSET:数据库默认字符编码
-DDEFAULT_COLLATION:默认排序规则
-DENABLED_LOCAL_INFILE:允许从本文件导入数据
-DEXTRA_CHARSETS:安装所有字符集
详情
5. 编译并安装源代码
1 | sudo make install |
6. 初始化数据库
1 | sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data |
此时会生成一个随机临时密码,记下。
1
2 sudo bin/mysqld --initialize-insecure --user=mysql
--basedir=/usr/local/mysql --datadir=usr/local/mysql/data //无密码初始化(可选)
7. 编译配置文件,不用进入bin目录开启MySQL服务
1 | sudo vi /etc/my.cnf //或者vim |
编写my.cnf配置文件1
2
3
4
5
6
7
8[client]
port=3306
socket = /tmp/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket = /tmp/mysql.sock
character-set-server=utf8
8. 修改启动脚本
1 | sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld |
启动mysql服务
1 | service mysqld start |
查看是否启动服务:1
netstat -na -t | grep 3306
登录
1 | Mysql -uroot -p //而后输入密码 |
详情
9. 制作ISO文件1
sudo mkisofs -r -o mysql-5.7.19.iso /usr/local/mysql