首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >源码编译安装MySQL(银河麒麟v10 mips架构)

源码编译安装MySQL(银河麒麟v10 mips架构)

原创
作者头像
青丝束马尾
修改2024-11-27 07:19:04
修改2024-11-27 07:19:04
6090
举报
文章被收录于专栏:LinuxLinux

背景

因公司买了国产mips架构服务器,比较小众,MySQL官网大多数都是X86架构安装包,并不提供mips架构现成的安装包,只能使用源码编译进行安装

依赖

依赖什么的因为在 机房是内网环境,无法联网,只能说报什么错就去找什么依赖,我也是这么一步步过来的,因为国产系统你懂的

上传源码包并解压

源码包请 选择自带boost的版本,例如:mysql-boost-5.7.43.tar.gz,我的路径是/opt/softapp/下

代码语言:bash
复制
tar -zxvf mysql-boost-5.7.43.tar.gz
mkdir /opt/softapp/mysql-5.7.43/build
cd /opt/softapp/mysql-5.7.43/build

创建MySQL管理用户及日志文件

代码语言:bash
复制
useradd -M -s /sbin/nologin -r mysql
mkdir -p /usr/local/mysql/data
mkdir -p /var/lib/mysql
touch /var/lib/mysql/mysql.sock
touch /var/lib/mysql/mysql_err.log
touch /var/lib/mysql/mysql.pid
touch /var/lib/mysql/mysql.log

编译

代码语言:bash
复制
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_BOOST=/opt/softapp/mysql-5.7.43/boost/boost_1_59_0

安装

代码语言:bash
复制
make
sudo make install

配置文件my.cnf

代码语言:bash
复制
cp  /etc/my.cnf  /etc/my.cnf.bak
>   /etc/my.cnf
vim /etc/my.cnf

配置文件的内容

代码语言:bash
复制
[mysql]
default-character-set=utf8

[client]
socket=/var/lib/mysql/mysql.sock

[mysqld]
port=3306
user=mysql
general_log = 1
general_log_file= /var/lib/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
bind-address = 0.0.0.0
default_storage_engine = InnoDB
character-set-server=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
autocommit=1
symbolic-links=0
skip-networking = 0
log-error=/var/lib/mysql/mysql_err.log
pid-file=/var/lib/mysql/mysql.pid

初始化数据库(空密码,如果需要临时密码,把-insecure参数去掉)

代码语言:bash
复制
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

授权(确保初始化产生的内容也在MySQL用户下,防止无法权限问题启动)

代码语言:bash
复制
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /var/lib/mysql

启动MySQL

代码语言:bash
复制
nohup /usr/local/mysql/bin/mysqld_safe --user=mysql &

停止MySQL

代码语言:bash
复制
/usr/local/mysql/bin/mysqladmin -u root -p shutdown

配置启动脚本

代码语言:bash
复制
sudo vim /etc/systemd/system/mysqld.service

脚本内容

代码语言:bash
复制
[Unit]
Description=MySQL Server
After=network.target

[Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql
ExecStop=/usr/local/mysql/bin/mysqladmin shutdown -u root -p
Restart=on-failure
PrivateTmp=true

[Install]
WantedBy=multi-user.target

添加权限并且设置开机启动

代码语言:bash
复制
chmod +x /etc/systemd/system/mysqld.service
systemctl enable mysqld.service

启动MySQL

代码语言:bash
复制
systemctl start mysqld

配置环境变量

代码语言:bash
复制
vim ~/.bashrc

# 添加的内容 
# MySQL configure
export PATH=$PATH:/usr/local/mysql/bin

# 生效
source ~/.bashrc

登录(无密码,输入密码的时候直接回车即可)

代码语言:bash
复制
mysql -u root -p

结果(登录成功)

小贴士:

修改密码命令

代码语言:bash
复制
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;

允许外部连接命令(比如navicat、dbeaver等)

代码语言:bash
复制
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 依赖
  • 上传源码包并解压
  • 创建MySQL管理用户及日志文件
  • 编译
  • 安装
  • 配置文件my.cnf
    • 配置文件的内容
  • 初始化数据库(空密码,如果需要临时密码,把-insecure参数去掉)
  • 授权(确保初始化产生的内容也在MySQL用户下,防止无法权限问题启动)
  • 启动MySQL
  • 停止MySQL
  • 配置启动脚本
  • 脚本内容
  • 添加权限并且设置开机启动
  • 启动MySQL
  • 配置环境变量
  • 登录(无密码,输入密码的时候直接回车即可)
  • 结果(登录成功)
  • 小贴士:
    • 修改密码命令
    • 允许外部连接命令(比如navicat、dbeaver等)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档