银河麒麟系统安装mysql5.7【亲测可行】

一、安装环境

cpu:I5-10代;

主板:华硕;

OS:银河麒麟V10(SP1)未激活

架构:Linux 5.10.0-9-generic x86_64 GNU/Linux

mysql版本:mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

安装包存放:/data/download

安装目录:/usr/local/mysql

数据目录:/data/mysql

二、安装步骤

1、修改系统root密码

我安装的麒麟系统开机登录默认子用户,不是root用户,权限小,很多文件都是只读,所以切换到root用户,下面是root用户修改密码的方法。

① 开机按e进入编辑页面
② 修改配置文件如下

将ro改为rw,将security的值改为none,后面加上 init=/bin/bash


注意:开机小心狂按e会导致文件开头多出很多e字母,记得删掉;

③ 按F10保存退出,然后输入以下命令设置密码
bash 复制代码
passwd root

输入两次密码后,输入exec /sbin/init进行重启即可;

2、下载自己电脑对应版本mysql安装包

下载地址:mysql官网

上传至电脑,我的存放在/data/download目录下;

3、安装mysql

切换root用户(需输入刚才设置的root密码):

bash 复制代码
su

进入mysql安装包目录,解压:

bash 复制代码
cd /data/download

tar -zxf ./mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

移动并重命名:

bash 复制代码
mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql

创建mysql用户组和用户、数据目录并修改权限:

bash 复制代码
groupadd mysql
useradd -r -g mysql mysql
mkdir -p /data/mysql	# 创建数据目录
chown mysql:mysql -R /data/mysql

配置my.cnf:

bash 复制代码
vim /etc/my.cnf

内容如下:

bash 复制代码
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
symbolic-links=0
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

default_password_lifetime=0

lower_case_table_names = 1

character-set-client-handshake = FALSE
collation-server = utf8mb4_unicode_ci
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'

max_allowed_packet=10485760

[mysql]
default-character-set = utf8mb4

[client]
default-character-set=utf8mb4

注意basedir和datadir需要改成自己实际目录!
进入mysql的bin目录,进行初始化:

bash 复制代码
cd /usr/local/mysql/bin

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

将mysql.server放到/etc/init.d/mysql中并设置权限:

bash 复制代码
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

chmod +x /etc/init.d/mysql

启动:

bash 复制代码
systemctl start mysql

#查看是否启动
ps aux | grep mysql

小插曲:此处我用service mysql start启动提示我mysql.service没找到,但是init.d下明明有mysql,用上面命令启动就行,奇怪。

进入mysql:

bash 复制代码
/usr/local/mysql/bin/mysql -uroot -p

此处提示我"缺少libncurses.so.5文件",网上解决方式将lib64下的libncurses.so.6做个软连接,但是我这个系统lib64下没有这个文件,我的是在lib32,用lib32做完链接后还是提示找不到;

最后用下面方式解决:

bash 复制代码
apt-get update

apt-get install libncurses5

如果上面安装不了,执行以下apt-get upgrade再安装试试。

查看密码:

bash 复制代码
cat /data/mysql/mysql.err

找到随机密码并复制;

登录:

bash 复制代码
/usr/local/mysql/bin/mysql -uroot -p

输入刚才复制的密码回车即可:

修改密码:

bash 复制代码
SET PASSWORD=PASSWORD('123456);
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

开放远程连接:

bash 复制代码
use mysql;
update user set host='%' where user='root';
flush privileges;

最后做个软连接,不用每次都到mysql的bin下运行:

bash 复制代码
ln -s /usr/local/mysql/bin/mysql /usr/bin

总结:

在麒麟系统安装遇到几个问题:

1、切换root用户;

2、service mysql start起不来;

3、进入mysql提示缺少文件libncurses.so.5;

相关推荐
FreeBuf_28 分钟前
新型恶意软件采用独特混淆技术劫持Docker镜像
运维·docker·容器
望获linux1 小时前
实时操作系统在服务型机器人中的关键作用
linux·机器人·操作系统·开源软件·rtos·具身智能
哈哈幸运1 小时前
Linux Sed 深度解析:从日志清洗到 K8s 等12个高频场景
linux·运维·编辑器·sed
心随_风动1 小时前
主流操作系统对比分析(macOS、Linux、Windows、Unix)
linux·windows·macos
啊吧怪不啊吧2 小时前
Linux常见指令介绍下(入门级)
linux·开发语言·centos
陈大大陈3 小时前
基于 C++ 的用户认证系统开发:从注册登录到Redis 缓存优化
java·linux·开发语言·数据结构·c++·算法·缓存
masx2003 小时前
升级uptime-kuma版本2.0.0-beta.2的cloudflared版本到2025.4.0
运维·后端
maotou5263 小时前
Ubuntu22学习记录
linux·ubuntu
杨凯凡3 小时前
Linux安全防护:全方位服务安全配置指南
linux·运维·服务器·安全
李菠菜3 小时前
CentOS系统中重置Root用户密码的完整步骤详解
linux·运维