银河麒麟系统安装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;

相关推荐
小成202303202652 小时前
Linux高级02
linux·开发语言
mounter6252 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
++==3 小时前
Linux 进程间通信与线程同步技术详解:IPC 机制、线程 API、同步工具与经典同步问题
linux
特长腿特长3 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5383 小时前
Linux环境变量
linux·运维·服务器
pluvium273 小时前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
无级程序员3 小时前
centos7 安装 llvm-toolset-7-clang出错的问题解决
linux·centos
赛博云推-Twitter热门霸屏工具4 小时前
Twitter运营完整流程:从0到引流获客全流程拆解(2026)
运维·安全·自动化·媒体·twitter
CHHC18804 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器
帮我吧智能服务平台5 小时前
装备制造智能制造升级:远程运维与智能服务如何保障产线OEE
运维·服务器·制造