前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >源码编译安装MySQL(银河麒麟v10 mips架构)

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

原创
作者头像
青丝束马尾
修改2024-09-02 07:39:07
2030
修改2024-09-02 07:39:07
举报
文章被收录于专栏:Linux

背景

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

依赖

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

上传源码包并解压

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

代码语言:bash
复制
tar -zxvf mysql-boost-5.7.33.tar.gz
cd mysql-5.7.33/

编译

代码语言:bash
复制
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-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_MEMORY_STORAGE_ENGINE=1 \
-DDEFAULT_STORAGE_ENGINE=InnoDB \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SYSTEMD=1 \
-DWITH_BOOST=/opt/softapp/mysql-5.7.33/boost/boost_1_59_0 

创建数据库用户和数据目录

代码语言:bash
复制
useradd -M -s /sbin/nologin -r mysql
mkdir -p /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/

安装

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

配置文件my.cnf

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

配置文件的内容

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

[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

配置启动脚本

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

脚本内容

代码语言:bash
复制
[Unit]
Description=MySQL DBMS

[Service]
LimitNOFILE=10000
Type=simple
User=mysql
Group=mysql
PIDFile=/usr/local/mysql/mysqld.pid
ExecStart=/usr/local/mysql/bin/mysqld --datadir=/usr/local/mysql/data
ExecStop=/bin/kill -9 $MAINPID

[Install]
WantedBy=multi-user.target

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

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

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

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

初始化报错

代码语言:txt
复制
[root@localhost system]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2024-07-07T06:24:46.415658Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2024-07-07T06:24:46.433398Z 0 [ERROR] Could not open file '/var/log/mysql/mysql_err.log' for error logging: No such file or directory
2024-07-07T06:24:46.433548Z 0 [ERROR] Aborting

解决:创建文件

代码语言:bash
复制
mkdir  /var/log/mysql
touch /var/log/mysql/mysql_err.log
chown -R mysql:mysql /var/log/mysql

初始化成功

启动MySQL

代码语言:bash
复制
systemctl start mysqld

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

代码语言: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 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 依赖
  • 上传源码包并解压
  • 编译
  • 创建数据库用户和数据目录
  • 安装
  • 配置文件my.cnf
    • 配置文件的内容
    • 配置启动脚本
    • 脚本内容
    • 添加权限并且设置开机启动
    • 初始化数据库(空密码,如果需要临时密码,把-insecure参数去掉)
    • 初始化报错
    • 解决:创建文件
    • 初始化成功
    • 启动MySQL
    • 登录(无密码,输入密码的时候直接回车即可)
    • 结果(登录成功)
    • 小贴士:
      • 修改密码命令
        • 允许外部连接命令(比如navicat、dbeaver等)
        相关产品与服务
        云数据库 MySQL
        腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档