当前位置: 首页 > news >正文

鲲鹏麒麟安装离线版MySQL5.7

最近有项目需求,需要在鲲鹏ARM服务器上安装数据库MySQL5.7,服务器为鲲鹏920,操作系统Kylin Linux Advanced Server release V10 (Tercel)

安装包

下载地址:https://cloud.189.cn/t/JRVnmeEvMRZ3(访问码:tf69)
下载后文件为mysql-5.7.27-aarch64.zip

部署

1、拷贝文件到/usr/local目录下

2、解压文件,执行:
unzip ./mysql-5.7.27-aarch64.zip -d ./

3、将得到的文件夹重命名为mysql,执行
mv ./mysql-5.7.27-aarch64 ./mysql

4、创建数据目录和日志目录
mkdir /usr/local/mysql/logs
mkdir /usr/local/mysql/data

5、创建mysql用户并授权
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql mysql
chmod 777 ./mysql/bin/*

6、安装mysql服务
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
修改配置vi /etc/init.d/mysql,找到basedir和datadir,并修改为如下配置

7、初始化数据库,执行
./bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data

8、将MySQL服务添加到系统服务
chkconfig --add mysql
chkconfig mysql on

9、修改my.cnf配置,将mysql目录下的my.cnf拷贝到/etc/my.cnf目录下,my.cnf内容如下:

[client]
port = 3306
socket = /dev/shm/mysql.sock[mysqld]
skip-grant-tables
port = 3306
socket = /dev/shm/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/data/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 101
init-connect = 'SET NAMES utf8mb4'
character-set-server = utf8mb4
#skip-name-resolve
#skip-networking
back_log = 300
max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 4M
thread_cache_size = 8
query_cache_type = 1
query_cache_size = 8M
query_cache_limit = 2M
ft_min_word_len = 4
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30
log_error = /usr/local/mysql/logs/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /usr/local/mysql/logs/mysql-slow.log
performance_schema = 0
explicit_defaults_for_timestamp
#lower_case_table_names = 1
skip-external-locking
default_storage_engine = InnoDB
#default-storage-engine = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
interactive_timeout = 28800
wait_timeout = 28800[mysqldump]
quick
max_allowed_packet = 16M[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M

注意检查几个路径相关的以及相关的端口,不要出错。在这里重点说一下初始密码,执行./bin/mysqld --initialize会在日志文件中生产root密码

[root@test mysql]# cat ./logs/mysql-error.log 
2024-12-01T01:19:58.734422Z 0 [Warning] InnoDB: New log files created, LSN=45790
2024-12-01T01:19:58.764046Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2024-12-01T01:19:58.822054Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 6180e241-af82-11ef-b67b-fa163e637a8c.
2024-12-01T01:19:58.823376Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2024-12-01T01:19:58.825016Z 1 [Note] A temporary password is generated for root@localhost: <:tf4rZT8gaJ
[root@test mysql]# 

root@localhost冒号后的就是密码,一般生成的密码比较复杂,不便于记忆,因此为方便修改密码,在配置文件中配置初始登录无需密码,然后再修改默认密码,注意
[mysqld]
skip-grant-tables

10、启动mysql,执行service mysql start

[root@test mysql]# service mysql start
Starting MySQL.. SUCCESS! 
[root@test mysql]# netstat -lnp | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2444566/mysqld  

至此MySQL已经成功启动

11、修改默认密码,执行mysql -uroot进入

[root@test mysql]# mysql -uroot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.27-log Source distributionCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]> update mysql.user set authentication_string=password('root') where user='root' and Host = 'localhost';
Query OK, 1 row affected, 1 warning (0.002 sec)
Rows matched: 1  Changed: 1  Warnings: 1MySQL [(none)]> SELECT user, host, password_expired FROM mysql.user WHERE user = 'root';
+------+-----------+------------------+
| user | host      | password_expired |
+------+-----------+------------------+
| root | localhost | Y                |
+------+-----------+------------------+
1 row in set (0.000 sec)MySQL [(none)]> update mysql.user set password_expired='N' WHERE user = 'root';
Query OK, 1 row affected (0.002 sec)
Rows matched: 1  Changed: 1  Warnings: 0MySQL [(none)]> flush privileges;
Query OK, 0 rows affected (0.002 sec)MySQL [(none)]> exit
Bye
[root@test mysql]# service mysql stop
Shutting down MySQL.. SUCCESS! 
[root@test mysql]# 
[root@test mysql]# service mysql start
Starting MySQL.. SUCCESS!

在这里将root密码修改为root,实际使用过程中,可以使用更安全的密码,注意重启之前将my.cnf中的配置skip-grant-tables注释掉,只需前面加一个#即可。

此时如果再次使用mysql -uroot,就会出现如下错误:

[root@test mysql]# mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

至此数据库已经安装好了。

其他配置

1、授权远程访问权限
CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘root’;
GRANT ALL ON . TO ‘root’@‘%’;
ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘root’;
更新权限
FLUSH PRIVILEGES;

2、开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent && firewall-cmd --reload

3、如果要配置主从,注意一定要修改/etc/init.d/mysql文件,启动时加上server-id,尝试过在my.cnf中增加server-id,但是无效。

case "$mode" in'start')# Start daemon# Safeguard (relative paths, core dumps..)cd $basedirecho $echo_n "Starting MySQL"if test -x $bindir/mysqld_safethen# Give extra arguments to mysqld with the my.cnf file. This script# may be overwritten at next upgrade.$bindir/mysqld_safe --server-id=101 --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?# Make lock for RedHat / SuSEif test -w "$lockdir"thentouch "$lock_file_path"fiexit $return_valueelselog_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"fi;;

注意:$bindir/mysqld_safe --server-id=101

相关文章:

鲲鹏麒麟安装离线版MySQL5.7

最近有项目需求&#xff0c;需要在鲲鹏ARM服务器上安装数据库MySQL5.7&#xff0c;服务器为鲲鹏920&#xff0c;操作系统Kylin Linux Advanced Server release V10 (Tercel) 安装包 下载地址&#xff1a;https://cloud.189.cn/t/JRVnmeEvMRZ3&#xff08;访问码&#xff1a;t…...

【不稳定的BUG】__scrt_is_managed_app()中断

【不稳定的BUG】__scrt_is_managed_app函数中断 参考问题详细的情况临时解决方案 参考 发现出现同样问题的文章: 代码运行完所有功能&#xff0c;仍然会中断 问题详细的情况 if (!__scrt_is_managed_app())exit(main_result);这里触发了一个断点很奇怪,这中断就发生了一次,代…...

MyBatis 详解

MyBatis 是一个优秀的 持久层框架&#xff0c;它支持定制化 SQL、存储过程以及高级映射&#xff0c;能够很好地降低 Java 应用程序对数据库操作的复杂性。以下是对 MyBatis 的详细解析&#xff1a; 1. MyBatis 简介 MyBatis 是 Apache 的一款开源框架&#xff0c;其核心特性是…...

Cursor+Devbox AI开发快速入门

1. 前言 今天无意间了解到 Cursor 和 Devbox 两大开发神器,初步尝试以后发现确实能够大幅度提升开发效率,特此想要整理成博客以供大家快速入门. 简单理解 Cursor 就是一款结合AI大模型的代码编辑器,你可以将自己的思路告诉AI,剩下的目录结构的搭建以及项目代码的实现均由AI帮…...

编写按层次顺序(同一层自左至右)遍历二叉树的算法。或:按层次输出二叉树中所有结点;

解&#xff1a;思路&#xff1a;既然要求从上到下&#xff0c;从左到右&#xff0c;则利用队列存放各子树结点的指针是个好办法。 这是一个循环算法&#xff0c;用while语句不断循环&#xff0c;直到队空之后自然退出该函数。 技巧之处&#xff1a;当根结点入队后&#xff0c;会…...

docker 安装mysql8.0.29

docker 安装mysql8.0.29 1、拉取镜像 docker pull mysql:8.0.292、启动容器 docker run -p 3306:3306 --name mysql8.0.29 -e MYSQL_ROOT_PASSWORDroot -d mysql:8.0.29-p 将本地主机的端口映射到docker容器端口(因为本机的3306端口已被其它版本占用&#xff0c;所以使用330…...

vue深入理解输入框字符限制的优化设计

文章目录 深入理解输入框字符限制的优化设计背景与挑战输入框限制的重要性常见需求 多种实现方法解析方法一&#xff1a;基于实时过滤的字符限制方法二&#xff1a;借助正则验证方法三&#xff1a;提交时二次校验 性能优化无障碍设计延伸场景与最佳实践1. 多语言国际化支持2. 动…...

完整指南:在Ubuntu 20.04 ROS 1环境中配置和使用Orbbec SDK

完整指南&#xff1a;在Ubuntu 20.04 ROS 1环境中配置和使用Orbbec SDK 要在Ubuntu 20.04系统中使用ROS 1环境配置和使用Orbbec SDK&#xff0c;可以遵循以下详细且系统化的步骤。这些步骤将引导您从下载必要的工具和SDK到学习如何使用这些资源&#xff0c;确保您能有效地利用…...

【Leetcode Top 100】138. 随机链表的复制

问题背景 给你一个长度为 n n n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 r a n d o m random random&#xff0c;该指针可以指向链表中的任何节点或空节。 构造这个链表的 深拷贝。 深拷贝应该正好由 n n n 个 全新 节点组成&#xff0c;其中每个新节点的值…...

2024年12月HarmonyOS应用开发者基础认证全新题库

注意事项&#xff1a;切记在考试之外的设备上打开题库进行搜索&#xff0c;防止切屏三次考试自动结束&#xff0c;题目是乱序&#xff0c;每次考试&#xff0c;选项的顺序都不同 更新时间&#xff1a;2024年12月3日 这是基础认证题库&#xff0c;不是高级认证题库注意看清楚标…...

Flink问题总结

目录 1、Flink 的四大特征(基石) 2、Flink 中都有哪些 Source,哪些 Sink,哪些算子(方法) 3、什么是侧道输出流,有什么用途 4、Flink 中两个流如何合并为一个流 5、Flink 中两个流如何 join 6、Flink 中都有哪些 window,什么是滑动,滚动窗口 7、flink 中都有哪些…...

Day17 C++ vector 容器

2024.12.3 C vector 容器 C vector 容器 类比成数组 C 中的 vector 是一种序列容器&#xff0c;它允许你在运行时动态地插入和删除元素。 vector 是基于数组的数据结构&#xff0c;但它可以自动管理内存&#xff0c;这意味着你不需要手动分配和释放内存。 与 C 数组相比&a…...

常见Linux命令(详解)

文章目录 常见Linux命令文件目录类命令pwd 打印当前目录的绝对路径ls 列出目录内容cd 切换路径mkdir 建立目录rmdir 删除目录touch 创建空文件cp 复制文件或目录rm 移除文件或者目录mv 移动文件与目录或重命名cat 查看文件内容more 文件分屏查看器less 分屏显示文件内容head 显…...

AgGrid 组件封装设计笔记:自定义 icon 以及每个 icon 的点击事件处理

文章目录 问题目前解决效果 v1思路 目前解决效果 v0思路 代码V1 问题 自己封装的 AgGrid 如何自定义传递 icon &#xff0c;以及点击事件的处理&#xff1f; 目前解决效果 v1 思路 目前解决效果 v0 思路 一张图片说明一下 代码 V1 父组件使用 <template><MyPageL…...

vb.net常用命名空间

.NET的命名空间分为两个主要部分。一个是与微软程序语言相关的microsoft,一个是与操作系统相关的system,其中system主要分为应用程序类的命名空间和WEB程序类的命名空间两部分。 下面是常见的命名空间&#xff1a; Microsoft.VisualBasic 包含VB.NET的RUNTIME和编译运行VB程序…...

Netty面试内容整理-Netty 工作原理

Netty 的工作原理主要基于异步、事件驱动的 I/O 模型,结合 Reactor 多线程模式和高效内存管理来实现高并发网络通信。以下是 Netty 的工作原理详细解析: Reactor 线程模型 Netty 基于 Reactor 模式 来处理并发连接和 I/O 操作,主要分为 单线程模型、多线程模型 和 主从多线程…...

CMD 介绍

CMD 介绍 CMD 是 Windows 操作系统中的命令提示符&#xff08;Command Prompt&#xff09;程序&#xff0c;它是一种命令行工具&#xff0c;可以让用户通过键入命令来与计算机进行交互。 DOS: disk operating system, 磁盘操作系统. 是利用命令行来操作计算机. DOS 不是 CMD…...

【项目日记】仿mudou的高并发服务器 --- 实现HTTP服务器

对于生命&#xff0c;你不妨大胆一点&#xff0c; 因为我们始终要失去它。 --- 尼采 --- ✨✨✨项目地址在这里 ✨✨✨ ✨✨✨https://gitee.com/penggli_2_0/TcpServer✨✨✨ 仿mudou的高并发服务器 1 前言2 Util工具类3 HTTP协议3.1 HTTP请求3.2 HTTP应答 4 上下文解析模块…...

Android 使用TabLayout + ViewPager2 实现标签页的视图切换

学习笔记 步骤概览 添加依赖创建布局文件创建 ViewPager2 适配器设置 TabLayout 和 ViewPager2 的联动自定义每个页面内容&#xff08;Fragment&#xff09;自定义 TabLayout 样式&#xff08;可选&#xff09; 1. 添加依赖 首先&#xff0c;你需要在 build.gradle 文件中添…...

vue 项目实现阻止浏览器记住密码

​在各个浏览器中&#xff0c;登录输入密码一般都会弹出是否记住密码的功能&#xff0c;如果记住之后&#xff0c;会在各个密码框自动填充记住的密码&#xff0c;这无疑是一种不安全的操作&#xff0c;所以要实现禁用阻止浏览器记住密码的行为 查阅资料&#xff0c;也得到很多…...

Claude Code助手对比:百川2-13B在代码生成与解释方面的能力展示

Claude Code助手对比&#xff1a;百川2-13B在代码生成与解释方面的能力展示 最近和几个做开发的朋友聊天&#xff0c;大家讨论最多的就是AI编程助手到底哪个更好用。Claude Code的名气确实很大&#xff0c;很多技术社区都在讨论它。不过&#xff0c;除了这些“明星”选手&…...

如何快速掌握gdrivedl:面向新手的Google Drive下载终极指南

如何快速掌握gdrivedl&#xff1a;面向新手的Google Drive下载终极指南 【免费下载链接】gdrivedl Google Drive Download Python Script 项目地址: https://gitcode.com/gh_mirrors/gd/gdrivedl 你是否经常需要从Google Drive下载共享文件&#xff0c;但总是遇到下载速…...

IndexTTS2 V23应用案例:打造智能客服语音,让机器说话更有人情味

IndexTTS2 V23应用案例&#xff1a;打造智能客服语音&#xff0c;让机器说话更有人情味 1. 为什么智能客服需要情感语音&#xff1f; 在当今的客户服务场景中&#xff0c;冰冷的机械语音正在被市场淘汰。研究表明&#xff0c;带有适当情感的语音交互能显著提升用户体验&#…...

[Python3高阶编程] - 横跨同步异步的利器: asgiref.sync

一、asgiref.sync 是什么&#xff1f;asgiref.sync 是 ASGI&#xff08;Asynchronous Server Gateway Interface&#xff09;参考实现库 asgiref 中的核心子模块&#xff0c;主要用于安全地桥接同步代码与异步代码。&#x1f4cc; 一句话总结&#xff1a; 它让你在异步环境中调…...

ECDH算法避坑指南:OpenSSL和Node.js中的椭圆曲线参数选择

ECDH算法实战避坑指南&#xff1a;跨平台椭圆曲线参数选择与性能优化 在构建现代加密通信系统时&#xff0c;ECDH&#xff08;椭圆曲线迪菲-赫尔曼密钥交换&#xff09;算法因其高效性和安全性已成为TLS协议栈的核心组件。然而&#xff0c;当开发者需要在OpenSSL和Node.js等不同…...

告别复杂配置!Phi-3-Mini-128K一键部署实测:7GB显存跑通,小白也能玩转大模型

告别复杂配置&#xff01;Phi-3-Mini-128K一键部署实测&#xff1a;7GB显存跑通&#xff0c;小白也能玩转大模型 1. 为什么选择Phi-3-Mini-128K 如果你正在寻找一个既强大又轻量的大语言模型&#xff0c;Phi-3-Mini-128K绝对值得考虑。这个由微软开发的模型虽然只有3.8亿参数…...

嵌入式系统调试实战:工具、技巧与内存管理

1. 嵌入式调试的核心价值与挑战从事嵌入式开发十多年来&#xff0c;我深刻体会到调试环节往往决定着项目的成败。与桌面软件开发不同&#xff0c;嵌入式系统一旦部署后很难进行现场维护&#xff0c;这就要求我们必须在上线前解决所有潜在问题。根据行业统计&#xff0c;嵌入式工…...

OpenClaw Exec Approvals 机制:在安全与效率之间寻找平衡

OpenClaw Exec Approvals 机制&#xff1a;在安全与效率之间寻找平衡当你第一次看到 /approve 弹窗时&#xff0c;是选择 allow-once 还是 allow-always&#xff1f;这个看似简单的决定&#xff0c;背后是安全与便利的永恒博弈。引言 在 Agent 开发和工作流自动化的世界里&…...

Vue2项目构建优化实战:时间戳防缓存与资源压缩的配置详解

1. 为什么Vue2项目需要构建优化 最近接手了一个老项目的维护工作&#xff0c;发现每次前端更新后总有用户反馈页面显示异常。排查后发现是浏览器缓存惹的祸——用户访问的仍然是旧版本的静态资源。这让我意识到构建优化的重要性&#xff0c;特别是对于需要频繁更新的业务系统。…...

猫抓插件:浏览器资源嗅探的革命性解决方案

猫抓插件&#xff1a;浏览器资源嗅探的革命性解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾在浏览网页时&#xff0c;看到心仪的…...