mysql ARM环境编译安装

2022-12-15 10:09:26 浏览数 (2)

正常在x86环境安装mysql已经不是什么复杂的事情了,但是到了ARM或者其他CPU架构因为缺少现成的二进制包,就必须得编译安装了,比如龙芯申威等。本次以龙芯cpu为例

(1)查看是否已安装mariadb,若是已安装,需要卸载

代码语言:javascript复制
rpm -qa|grep mariadb
#要是有,卸载 
yum remove mariadb
如果无法删除可以 执行yum remove 具体的包名

(2)下载源码包并解压

代码语言:javascript复制
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.29.tar.gz tar -zxvf mysql-5.7.29.tar.gz

(3)yum安装编译所需要的工具和库

代码语言:javascript复制
yum install gcc gcc-c   cmake ncurses-devel bison openssl-devel rpcgen

(4)创建mysql的安装目录及数据库存放目录

代码语言:javascript复制
mkdir -p /mysqlapp/mysql               安装Mysql
mkdir -p /mysqlapp/mysql/data         存放数据库
创建mysql用户及用户组
groupadd mysql        创建mysql组
useradd -g mysql mysql     创建Mysql用户,同时属于mysql组
设置目录权限
chown -R root:mysql  /mysqlapp/mysql
chown -R mysql:mysql /mysqlapp/mysql/data

(5)进到mysql-5.7.29,编译安装

代码语言:javascript复制
cmake . -DCMAKE_INSTALL_PREFIX=/mysqlapp/mysql -DMYSQL_DATADIR=/mysqlapp/mysql/data -DSYSCONFDIR=/etc  -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/root/mysql-5.7.29/include/boost_1_59_0 -DWITHOUT_PARTITION_STORAGE_ENGINE=0 
make 
make install

6)配置/etc/my.cnf文件

注意:5.7版本没有模板文件/application/mysql/support-files/my-default.cnf,可根据需要自行添加

代码语言:javascript复制
[mysqld]
port = 3306
user = mysql
basedir = /mysqlapp/mysql
datadir = /mysqlapp/mysql/data
pid-file = /mysqlapp/mysql/data/mysql.pid
sql_mode='ONLY_FULL_GROUP_BY'
log_error = /mysqlapp/mysql/mysql-error.log
[client]
port = 3306

(7)初始化数据库

代码语言:javascript复制
/mysqlapp/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/mysqlapp/mysql --datadir=/mysqlapp/mysql/data --lower-case-table-names=1  

(8)设置环境变量

代码语言:javascript复制
echo 'export PATH=/mysqlapp/mysql/bin:$PATH' >> /etc/profile source /etc/profile tail -1 /etc/profile

(9)拷贝启动脚本、启动服务、登录数据库(没有密码)并查看版本

代码语言:javascript复制
cp /mysqlapp/mysql/support-files/mysql.server /etc/init.d/mysqld /etc/init.d/mysqld start

(10)启动配置密码和允许远程访问

代码语言:javascript复制
#回车没有密码
mysql -uroot -p
select Host,User from user;
#设置密码
ALTER USER'root'@'localhost' IDENTIFIED BY '12ipaas@xxStandalone!!';
#开启远程访问
create user 'root'@'%' identified by '12ipaas@xxStandalone!!';
#刷新
flush privileges;

0 人点赞