手工编译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
输入新的临时密码
- 手工编译mysql-5.7.x全过程
- QT5.X 编译QFtp全过程
- QT5.X 编译QFtp全过程
- 【转】CentOS 编译安装MySQL全过程
- 编译全过程
- MySQL数据库5.X版本基本手工注入总结
- MySQL数据库5.X版本基本手工注入总结
- MySQL数据库5.X版本基本手工注入总结
- 免编译源码MySql-5.1-Linux安装全过程
- 编译安装Mysql 5.5.x
- 如何手工启动X
- 手工焊接CPU断针全过程
- oracle 10g手工建库全过程
- 总结搜索型手工注入的全过程
- 总结搜索型手工注入的全过程
- Cocos2d-x 避免手工输入项目需要编译的cpp文件到Android.mk里
- Cocos2d-x 避免手工输入项目需要编译的cpp文件到Android.mk里
- windows下mysql 5.7的配置全过程
- java ArrayList数组中如何插入一个元素
- 关于Android Studio打包jar,aar,Eclipse依赖library问题
- asp.net单点登录
- 算法理解境界的思考
- Qt之QRoundProgressBar(圆形进度条)
- 手工编译mysql-5.7.x全过程
- 《一道有趣的面试题》的疑问
- [Headset]如何在ADB shell中读取耳机状态和读取ACCDET寄存器
- 对称加密算法(AES)
- 集合框架一:List接口
- Uiautomator框架(The UI Automator testing framework)简单介绍
- javascript的settimeout
- Android Databinding 从入门到转行(二)添加点击事件
- 2sum,3sum and 和为s的连续正数序列