./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