• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : Tiny6410平台MySQL-5.5.24交叉编译图文版教程 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 34962
精华: 2
发帖: 37
金钱: 285 两
威望: 57 点
贡献值: 2 点
综合积分: 114 分
注册时间: 2010-12-23
最后登录: 2012-06-28
楼主  发表于: 2012-05-31 13:09

 Tiny6410平台MySQL-5.5.24交叉编译图文版教程

管理提醒: 本帖被 wuweidong 设置为精华(2012-06-01)
自从mysql升级到5.5以上后,编译方式从configure变成cmake,导致网上的很多交叉编译方法失效。本文基于最新版本的mysql-5.5.24给出交叉编译方法,为网上最新教程
本文完全由本人所原创,ARM9之家为首发站。由于本文众多图片链自本人网站http://sjwt.vicp.cc:8080/,且此站是基于Tiny6410搭建的LAMP小型服务器,运行时间为6:00~23:00。因此如果看不到图片请在以上时间段内再来访问。
Apache和PHP交叉编译的图文版教程在日后会陆续放出。
发现粘贴过来格式有点不正常,原文地址在:http://sjwt.vicp.cc:8080/post-229.html

一、下载源代码
登陆Mysql官网

进入download页面

选择下载类型

选择源码下载

拉到最下面选择tar格式

这时可能需要登陆注册一个账号,我直接登陆略过
进入下载页面

选择台湾的服务器,下载速度挺快的

二、交叉编译
一些工作环境
属性属性值
源码目录/home/workspace/SourceCode
交叉编译目录/home/workspace/CorssComp/mysql-5.5.24
本地编译目录/home/workspace/LocalComp/mysql-5.5.24
交叉编译器版本arm-linux-gcc 4.5.1 v6
本地编译器版本gcc 4.7.0
操作系统ArchLinux 3.0
系统安装包base;base-devel;
1、解压源码到编译目录

2、安装cmake配置工具
  A、下载源码

从cmake的官网下载,官网链接:
http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
  B、解压

  C、配置

然后就是等待一段漫长的时间
  D、编译

又是一段漫长的时间
  E、安装

安装过程还算比较快
3、配置Mysql进行交叉编译
  A、编译PC版本(个别文件在ARM版本编译过程有用)
解压

配置

开始编译

注意make完了之后不需要make install哦
  B、编译ARM版本配置


配置界面,一开始为空

单击c键先进行默认初始配置

默认配置完成后的界面

单击e键之后出现以下配置选项

对里面的选项根据自己需要进行修改

单击t键进入高级配置模式,对编译器选项进行修改


[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image199_thumb.png[/img][img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image205_thumb.png[/img]
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image208_thumb.png[/img]

后面的基本不用修改了
单击c键重新生成新的配置
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image93_thumb.png[/img]
显示如下表示配置完毕
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image96_thumb.png[/img]
单击e键退出
但是编译器检测到两项新的内容并更改
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image102_thumb.png[/img]
因此需要重新单击c键再次配置
很快就配置好了,显示如下画面
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image105_thumb.png[/img]
单击e退出,表示可以真正生成配置文件了
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image108_thumb.png[/img]
单击g开始产生配置文件
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image111_thumb.png[/img]
OK,激动人心的编译时刻到来
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image114_thumb.png[/img]
当编译到这一步的时候发生错误
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image117_thumb.png[/img]
这时就需要我们从PC版中将相应的可执行文件复制过来
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image120_thumb.png[/img]
继续make
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image123_thumb.png[/img]
出现错误
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image129_thumb.png[/img]
这是由于arm-linux-gcc编译器的一个bug所造成的,需要我们修改代码
插入dummy
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image153_thumb.png[/img]
将0改成dummy
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image147_thumb.png[/img]
插入dummy
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image156_thumb.png[/img]
将0改成dummy
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image150_thumb.png[/img]
继续make
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image135_thumb.png[/img]
再次二进制文件执行出现错误
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image159_thumb.png[/img]
文件复制过来
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image163_thumb.png[/img]
继续make
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image166_thumb.png[/img]
依然出现二进制文件执行出现错误
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image169_thumb.png[/img]
文件复制过来
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image178_thumb.png[/img]
继续make
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image181_thumb.png[/img]
十分顺利的编译完成了,接下来安装
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image184_thumb.png[/img]
至此已经编译安装完成
[img]http://sjwt.vicp.cc:8080/content/uploadfile/wlwfiles/SJWTSTUDIO/MySQL_72AC/image211_thumb.png[/img]
三、在ARM上的安装
将/sdcard/mysql目录里的所有文件拷贝到ARM机对应的/sdcard/mysql目录中
1、创建my.cnf配置文件

# mkdir /sdcard/mysql/log 
# mkdir /sdcard/mysql/etc 
# cp support-files/my-medium.cnf /sdcard/mysql/etc/my.cnf

2、初始化数据库

执行前需赋给scripts/mysql_install_db文件执行权限 
# chmod 755 scripts/mysql_install_db 
# scripts/mysql_install_db --user=mysql --basedir=/sdcard/mysql/ --datadir=/sdcard/mysql/data/

3、创建管理MySQL数据库的shell脚本

# mkdir /sdcard/mysql/init.d 
# cp support-files/mysql.server /sdcard/mysql/init.d/mysql 
赋予shell脚本可执行权限: 
# chmod +x /sdcard/mysql/init.d/mysql

4、启动MySQL:

# /sdcard/mysql/init.d/mysql start

运行mysql的时候,会提示缺少一些库文件*.so ,需要到你编译的计算机系统下寻找相应的库文件拷贝到ARM机对应的目录中
5、通过命令行登录管理MySQL服务器(提示输入密码时直接回车):

# /sdcard/mysql/bin/mysql -u root -p -S /tmp/mysql.sock 
输入以下SQL语句,创建一个具有root权限的用户(admin)和密码(12345678): 
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY '12345678'; 
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'127.0.0.1' IDENTIFIED BY '12345678';

6、为root帐户设置初始密码

# /sdcard/mysql/bin/mysqladmin -u root password 'new-password'

7、删除本机匿名连接的空密码帐号

/sdcard/mysql -u root -p 'new-password' 
mysql>use mysql; //选择系统数据库mysql 
mysql>select Host,User,Password from user; //查看所有用户

mysql>delete from user where user='';                  (删除user用户) 
mysql>delete from user where password='';               (删除user用户) 
mysql>delete from user where host='';                     (删除user用户) 
mysql>drop database test;             (删除默认的test数据库) 
mysql>flush privileges;               (刷新mysql的缓存,让以上设置立即生效) 
mysql>select Host,User,Password from user; //确认密码为空的用户是否已全部删除 
mysql>exit;
[ 此帖被dick在2012-05-31 13:24重新编辑 ]
赶紧学好linux!
级别: 侠客
UID: 53998
精华: 0
发帖: 73
金钱: 365 两
威望: 73 点
贡献值: 0 点
综合积分: 146 分
注册时间: 2011-08-21
最后登录: 2014-02-22
1楼  发表于: 2012-06-01 10:10
不错!
喜欢linux
级别: 风云使者
UID: 36096
精华: 3
发帖: 2536
金钱: 14075 两
威望: 2815 点
贡献值: 3 点
综合积分: 5132 分
注册时间: 2011-01-11
最后登录: 2015-11-15
2楼  发表于: 2012-06-01 19:46
不错!不过图貌似挂了一些
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 新手上路
UID: 96366
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
贡献值: 0 点
综合积分: 44 分
注册时间: 2013-09-13
最后登录: 2016-09-22
3楼  发表于: 2014-02-23 22:54

 回 楼主(dick) 的帖子

kan kan
级别: 新手上路
UID: 108020
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2014-09-13
最后登录: 2015-03-23
4楼  发表于: 2014-10-09 11:23
不错
级别: 新手上路
UID: 94410
精华: 0
发帖: 20
金钱: 100 两
威望: 20 点
贡献值: 0 点
综合积分: 40 分
注册时间: 2013-07-16
最后登录: 2015-04-30
5楼  发表于: 2015-03-18 13:21
不错,谢谢分享!
我就是我
级别: 新手上路
UID: 117949
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
贡献值: 0 点
综合积分: 36 分
注册时间: 2015-08-04
最后登录: 2017-06-20
6楼  发表于: 2015-12-12 10:43
图片不见了
我就是我
级别: 新手上路
UID: 117949
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
贡献值: 0 点
综合积分: 36 分
注册时间: 2015-08-04
最后登录: 2017-06-20
7楼  发表于: 2015-12-12 10:54
楼主能不能把这个配制文件发给我呢
2879396237@.qq.com
级别: 侠客
UID: 87961
精华: 0
发帖: 66
金钱: 330 两
威望: 66 点
贡献值: 0 点
综合积分: 132 分
注册时间: 2013-03-01
最后登录: 2017-11-09
8楼  发表于: 2015-12-17 14:24

 回 楼主(dick) 的帖子

深圳信盈达电子科技有限公司专注于嵌入式开发培训,包学会,报高薪就业。详情小窗口袁老师QQ483059208,电话:13083712301
级别: 风云使者
UID: 133552
精华: 0
发帖: 2682
金钱: 13410 两
威望: 2682 点
贡献值: 0 点
综合积分: 5364 分
注册时间: 2017-07-06
最后登录: 2017-07-11
9楼  发表于: 2017-07-07 01:08
很有吸引力
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go