ARM架构部署mysql-5.7.27

ARM架构部署mysql-5.7.27,第1张

借鉴:

https://blog.csdn.net/YKWNDY/article/details/107025041

https://blog.csdn.net/weixin_41919735/article/details/122554337

cd /usr/local

将部署包:mysql-5.7.27-aarch64.tar.gz 上传到 /usr/local 下

tar xvf mysql-5.7.27-aarch64.tar.gz

mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql

mkdir -p /usr/local/mysql/logs

ln -sf /usr/local/mysql/my.cnf /etc/my.cnf

cp -rf /usr/local/mysql/extra/lib* /usr/lib64/

mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.old

ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6

groupadd mysql

useradd -g mysql mysql

chown -R mysql:mysql /usr/local/mysql

cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

systemctl enable mysqld

vim /etc/profile

export MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

source /etc/profile

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

systemctl start mysqld

systemctl status mysqld

移动文件 mv /usr/local/mysql-5.7.27-aarch64 /usr/local/mysql

创建logs目录 mkdir -p /usr/local/mysql/logs

ln -sf a b 建立软连接,b指向a:ln -sf /usr/local/mysql/my.cnf /etc/my.cnf

cp是linux里的拷贝命令-r 是用于目录拷贝时的递归 *** 作-f 是强制覆盖:cp -rf /usr/local/mysql/extra/lib* /usr/lib64/

创建mysql组:ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6

创建mysql用户添加到mysql组:groupadd mysql &&useradd -g mysql mysql

将/usr/loca/mysql目录包含所有的子目录和文件,所有者改变为root,所属组改变为mysql:chown -R mysql:mysql /usr/local/mysql

设置开机启动:

cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

systemctl enable mysqld

添加环境变量:

vim /etc/profile

export MYSQL_HOME=/usr/local/mysql

export PATH=PATH:PATH:PATH:MYSQL_HOME/bin

source /etc/profile

初始化mysql:mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

开启mysql:systemctl start mysqld

查看状态:systemctl status mysqld

MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,可以使用mysql的5.1.51版本进行完成移植

安装编译器:用的是4.3.2的交叉编译器。gcc之类的都是ubuntu10.10自带的。

1、mysql允许交叉编译,可以用arm编译器编译,在百度文库中有篇文章是写移植到ARM平台的:《Ubuntu下编译ARM平台QtEmbedded的MySQL和MySQL插件》

2、我用mips交叉编译器编译过mysql-5.1.34,遇到的情况和那篇文章差不多。

3、我的编译过程:

1)先编译一份x86版本的mysql(因为交叉编译过程中要用到一个x86版本的工具gen_lex_hash sql)

2)配置交叉编译环境,用以下选项和参数:

ac_cv_sys_restartable_syscalls='no'

--host=mipsel-linux

--with-named-curses-libs=<你的 交叉编译器中libncurses.a的全路径>

3)make到gen_lex_hash错误时,将x86编译结果中的gen_lex_hash拷过来

4)再启动make,到sql_parse.cc错误时,修改这个文件:

vi ../sql/sql_parse.cc

将那个出错的宏定义一下:

#define STACK_DIRECTION 1

5)再make就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7244640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存