交叉编译arm64版Percona(5.6.51)
Percona除了ncurse、openssl,还需要依赖readline或者editline库。CMakeLists.txt中需要多加一行
SET(WITH_EDITLINE bundled)
同样第一次运行cmake也会无端报错,运行第二次就会成功。
同样也会缺少ER_ERROR_FIRST、ER_ERROR_LAST的定义。修改 armbuild/include/mysqld_error.h
+#ifndef ER_ERROR_FIRST
+#define ER_ERROR_FIRST 1000
+#define ER_ERROR_LAST 1905
+#endif
同样也会报错 os_atomic_increment_ulint 未定义,需要修改 storage/innobase/CMakeLists.txt
安装并初始化数据库:
一、编译x86版本,主要是因为mysql 5.6还没有--initialise功能,而mysql_install_db是一个perl脚本,在x86运行好运行一些。修改 BUILD/compile-pentium,改为
cmake $path/.. -DWITH_DEBUG=0 -DWITH_EDITLINE=bundled -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
apt install zlib1g-dev
cd BUILD
./compile-pentium
make install
初始化数据库
cd /usr/local/mysql/scripts
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
设置root密码
cd ../bin/
./mysqld --user=root --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
./mysqladmin -u root password 'password'
停止 mysqld
./mysqladmin -h 127.0.0.1 -p shutdown
二、把data目录压缩拷走,放到arm板子上。则arm上面也可以正常启动了