正常在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;