手工编译mysql-5.7.x全过程

来源:互联网 发布:购物网站如何优化 编辑:程序博客网 时间:2024/06/06 20:50

1.下载

1.1进入官网下载http://www.mysql.com/downloads/


1.2下载服务器版



注意这个页面需要先选择,后下载





最后,进入下载界面,选择

No thanks, just start my download.


2.安装mysql-5.7

2.1将下载的包,解压,出现这样两个文件



3 安装依赖编译工具

CMake是一个跨平台的安装(编译)工具,可使用简单的语句描述所有平台的安装。输出各式各样的makefile

直接apt-get install cmake -y即可安装成功

 

 

 

3.1 安装BOOST类库

C++语言标准库提供扩展的一些C++库的总称,可安可不安,不安则需安装带这个库的mysql源码包。(我们刚刚下载的就是带这个库)

 

3.2 安装git

apt-get install git -y

 

 

3.3 C/C++ 编辑器

apt-get install gcc g++ -y

 

 

3.4 Linux常用图形库

apt-get install libncurses5 libncurses5-dev -y



4.安装过程

4.1 建立 usr/local/mysql文件夹

 

 

4.2 使用命令ls -l 会发现权限是root root,由于我们编译时候需要使用webhao这个自定义的账号进行编译,所以需要更改权限,避免发生的错误。

 

 

4.3 命令行输入预编译参数

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost

 

 

4.4 一切没毛病,执行make(编译),需要1~2个小时

 

 

4.5 一切没毛病,make install 执行安装

 

 

 

5. 了解mysql配置文件

5.1 mysqld是最终需要运行的可执行文件(我们使用mysqld_safe脚本运行)

 

mysqld --verbose --help 生成所有mysqld选项和可配置文件的列表

配置文件优先级/etc/mysql/my.cnf  /etc/my.cnf  ~/.my.cnf【保证前一个不存在,后面才会起作用】

将默认的配置文件复制到特定的文件夹下 /etc/my.cnf



5.2 更改my.cnf的权限

 


5.3 修改配置,保存并退出

 

 

6.运行mysql

6.1 进入/usr/local/mysql目录下创建data目录

 

 

 

6.2 进入/usr/local/mysql/bin目录,执行代码

./mysqld --initialize  --user=webhao --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/,获得一个临时密码,复制,切记要复制。




6.3 再打开一个终端,输入/usr/local/mysql/bin/mysqld_safe没有任何报错 说明成功了。

 

 

6.4 然后,通过另一个终端 ps -ef | grep mysql查看进程

 

趁着把/usr/mysql/bin添加到环境变量(也可以不做)


6.5 登录mysql,重新设置数据库密码

 

 

6.6 关闭mysql服务,并通过进程查看

 

 

PS【这一段复制秦少的,说不定会用的上呢】:

如果密码忘记了怎么办?

首先 打开终端

cd /usr/local/mysql && sudo -rf date

 

然后 reboot 重启Ubuntu,重启之后 打开终端 输入

cd /usr/local/mysql/bin

 ./mysqld --initialize  --user=qinshao --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

 

生成新的临时密码 然后  再打开终端 输入

/usr/local/mysql/bin/mysqld_safe

 

打开新的终端 在终端输入

mysql -u root -p

输入新的临时密码


0 0