OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4420|回复: 1

mysql-5.1.73 数据库在AM335X上移植

[复制链接]

27

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2012-4-4
在线时间
46 小时
发表于 2016-3-23 16:47:21 | 显示全部楼层 |阅读模式
本帖最后由 fuqiye 于 2016-3-23 17:10 编辑

mysql-5.1.73 数据库在AM335X上移植

/*****************************************************************************************************************************/
begin
1、下载与解压mysql-5.1.73
     分享一个下载地址:http://pan.baidu.com/s/1bovivmv 提取码:8kct
     将下载好的文件放到自定一个目录下
     本人放到了:/home/voip_server_am335x_project/app/app/mysql/目录下了
     解压mysql-5.1.73.zip
     #unzip mysql-5.1.73.zip
2、编译PC版本的mysql备用
     先将它复制一个并重命名
     #cp -rfa mysql-5.1.73 pc-mysql-5.1.73
     #cd pc-mysql-5.1.73
     #./configure -prefix=/usr/local/mysql
     #make
    make 注意,这里无需运行make install,以为主要是为了用pc版本里的gen_lex_hash库。
3、编译ARM版本的mysql
     先将它重命名
     #cd ..
     #mv mysql-5.1.73 arm-mysql-5.1.73
     #cd arm-mysql-5.1.73
     在配置前要修改一下配置文件:打开configure。
     将如下代码:
     if test "$cross_compiling" = yes; then
        { { $as_echo "$as_meLINENO: error: in \`$ac_pwd':" >&5
     $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     {  {  $as_echo  "$as_meLINENO:  error:  cannot  run  test  program while cross compiling
     See \`config.log' for more details." >&5
     $as_echo "$as_me: error: cannot run test program while cross compiling
     See \`config.log' for more details." >&2;}
           { (exit 1); exit 1; }; }; }
     else
    改为:
    if test "$cross_compiling" = yes; then
         echo “skip …..!”
    else
    要改四处这样的地方
    配置(这里会用到以前在移植htop-1.0.2工具时编译过的ncurses)
    #./configure --host=arm-linux-gnueabihf  --prefix=/usr/local/mysql LDFLAGS=-L/usr/share/ncurses/lib/ CPPFLAGS=-I/usr/share/ncurses/include/
    编译
    #make
    出现错误
    make[2]: Leaving directory `/home/zhaowg/mysql-pc/sql'
    ./gen_lex_hash > lex_hash.h-t
    /bin/sh: ./gen_lex_hash: cannot execute binary file
    make[1]: *** [lex_hash.h]  错误  126
    这是由于编译的 arm 类型的程序不能在 PC 上运行造成的,于是前面做的准备工作派上用场了:
    # cp ../mysql-pc/sql/gen_lex_hash sql/
    出现错误
    sql_parse.cc:5432:21: operator '<' has no left operand
    make[3]: *** [sql_parse.o]  错误  1
    检查  sql_parse.cc,发现  宏变量 STACK_DIRECTION没有定义初值,网上查找资料发现 arm 中定义 STACK_DIRECTION为 1,于是在sql/sql_parse.cc文件开头加上一行:
    # define STACK_DIRECTION 1
    保存退出
    # make
    # make install
4、移植到目标板上
    将/usr/local 目录下的 mysql 文件夹拷贝到目标板的/usr/local 目录下。
    在/etc/profile下添加环境变量。
    export PATH="$PATH:/usr/local/mysql/bin"
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/mysql/lib/mysql"
    在目标板创建配置文件/etc/my.cnf
    修改文件为:
[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
datadir=/var/lib/mysql
socket=/tmp/mysql.sock
user=root  
old_passwords=1
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
    安装mysql数据
    #mkdir -p /var/run/mysqld/
    #mkdir -p /var/log/
    #touch /var/run/mysqld/mysqld.pid
    #mysql_install_db --user=root --force --basedir=/usr/local/mysql --datadir=/var/lib/mysql
     尝试启动mysql应用程序
     #mysqld_safe –socket=/tmp/mysql.sock &
     如果没报错说明已经启动起来了。
     到源码中拷贝启动文件support-files/mysql.server到目标板/etc/init.d/mysqld
     修改文件内容:
     basedir=/usr/local/mysql
     datadir=/var/lib/mysql

     pid_file=/var/run/mysqld/mysqld.pid
     server_pid_file=/var/run/mysqld/mysqld.pid
     修改完了保存文件重启目标板
     #reboot
     重启完后试着启动mysql数据库,在根目标执行
     #./etc/init.d/mysqld start
5、设置mysql远程访问
    # mysql -u root
    mysql>use mysql
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
    mysql> quit
end
/*****************************************************************************************************************************/
最后上传一个附件,里面为:一个my.cnf ,一个mysqld
mysql启动文件与配置.rar (4.62 KB, 下载次数: 1337)




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

128

帖子

0

精华

高级会员

Rank: 4

积分
788
金钱
788
注册时间
2019-8-4
在线时间
165 小时
发表于 2020-10-10 11:05:10 | 显示全部楼层
大佬牛逼,已成功启动
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-17 11:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表