麒麟系统—— openKylin 安装mysql

本文详细指导了如何在openKylin操作系统上安装MySQL,包括准备工作(检查系统状态、下载安装包、用户组设置),安装过程(解压、移动目录、权限设置),配置MySQL(环境变量、开机自启、初始化),以及JavaJDK的安装。最后还介绍了如何验证安装和修改MySQLroot用户密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


openKylin是基于麒麟操作系统的开源项目。本文将分享如何在openKylin操作系统上安装MySQL,帮助您在麒麟系统中搭建属于自己的数据库服务。

一、准备工作

1. 确保麒麟系统 openKylin 已经安装完毕。

我这里使用的鸿蒙系统是 :openKylin-2.0-alpha-x86_64

2. MySQL安装准备

安装包:jdk-8u301-linux-x64.tar.gz
通过下面的地址,去下载 mysql 的安装包

https://www.mysql.com/downloads/

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

下载文件有两种方法,第一种是下载到系统里,再发到服务器,openKylin上,第二种是直接在麒麟系统下载。由于我这边已经安装了SSH工具,(我这边使用的是FinalShell,所以我是在windows系统下载,发过去的。包括下面我都会用SSH工具来作为截图演示,有不懂的可以私信,一起交流学习。)

mkdir /home/app
cd /home/app
ls

我这里是用的64位,如果觉得下载麻烦,需要文件,评论区留下邮箱或者私信。

在这里插入图片描述

3. MySQL安装

解压缩安装包

将下载的MySQL安装包解压缩到指定目录

cd /home/app
tar -zxvf /home/app/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
  1. tar -zxvf /home/app/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
    这是一个用tar工具执行的命令,用于解压缩下载的MySQL安装包。这个命令的各个参数的含义如下:
    • -z:表示解压缩时需要用到gzip。
    • -x:表示解压tar文件。
    • -v:表示在解压时显示过程信息,可以看到正在被解压的文件名(verbose模式)。
    • -f:表示后面跟的文件是tar文件。
mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql
  1. mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql
    这个命令是移动刚刚解压缩的MySQL安装目录到/usr/local/mysql/usr/local/mysql是一个标准的目录,用于存放系统管理员安装的本地应用程序。
    mv是“move”的简称,表示移动文件或目录。这个命令会重命名mysql-5.7.44-linux-glibc2.12-x86_64这个目录为/usr/local/mysql

进入工作区: /usr/local/mysql

cd /usr/local/mysql
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
  1. groupadd mysql
    这个命令用于创建一个新的用户组,名为mysql。用户组是Linux系统中用于控制用户权限的一种机制。在这里,新建的用户组将被用于控制对MySQL数据库的访问。
    groupadd是“group add”的简称,是用来创建新用户组的命令。mysql是你要创建的用户组的名称。
  2. useradd -r -g mysql -s /bin/false mysql
    这个命令用于创建一个新的用户,名为mysql,并将其添加到刚才创建的mysql用户组中。这个用户将被用来运行MySQL数据库服务。
    useradd是“user add”的简称,是用来创建新用户的命令。各参数的含义如下:
    • -r:表示创建系统用户,而非普通用户。系统用户不会拥有家目录,并且通常用于运行服务。
    • -g:指定用户的主组,这里是指定的mysql组,这样用户mysql就会属于mysql组。
    • -s:指定用户的shell,这里是指定的/bin/false,这意味着这个用户不能登录shell,通常用于运行服务的用户。
      mysql是你要创建的用户名。

创建一个文件夹。这个就不解释了。

mkdir data

给权限

chown -R mysql:mysql /usr/local/mysql
  1. chown -R mysql:mysql /usr/local/mysql 是一条Linux命令,用于改变文件系统中的文件和目录的所有者。这个命令的每个参数的含义如下:
  • chown:这个命令是“change owner”的简称,用于改变文件或目录的所有者。
  • -R:这个参数表示递归地改变指定目录及其所有子目录和文件的所有者。
  • mysql:mysql:这表示新的所有者是用户mysql,所属组也是mysql
  • /usr/local/mysql:这是你想要改变所有者的目录。
    这条命令的作用是将/usr/local/mysql目录及其所有内容的所有者更改为mysql用户,并且将所属组也设置为mysql组。
cd /usr/local/mysql
mkdir /usr/local/mysql/data

./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

  1. ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize 用于初始化 MySQL 数据库安装。这通常在安装过程中或设置新的 MySQL 实例时执行。下面解释每个选项:
  • --user=mysql:这个选项指定了 MySQL 服务器应以 mysql 用户运行。这是之前使用 useradd -r -g mysql -s /bin/false mysql 命令创建的用户。
  • --basedir=/usr/local/mysql:这个选项告诉 MySQL 服务器其自身文件(如二进制文件、配置文件和插件)的位置。在这个例子中,基本目录设置为 /usr/local/mysql
  • --datadir=/usr/local/mysql/data:这个选项指定了实际数据库文件将被存储的目录。在这个例子中,data 目录是 mysql 安装目录(/usr/local/mysql)的一个子目录。
  • --initialize:这个选项初始化数据库。它创建初始数据库文件,并设置第一个超级用户账户,以及其他一些设置。这是在首次安装 MySQL 服务器时执行的一次性操作。

在这里插入图片描述

请记住,运行完成后,有个密码,像此处的密码就是 q#lknTosf8f- 复制出来,后面会用到

修改配置文件:

sudo vim /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
lower_case_table_names = 1
bind-address = 0.0.0.0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8

[mysqld] 节
  • character_set_server=utf8:设置服务器默认字符集为 UTF-8。UTF-8 是一种广泛使用的字符集,能够支持多种语言的字符。
  • init_connect='SET NAMES utf8':在客户端连接到服务器时,自动设置客户端的字符集为 UTF-8。
  • basedir=/usr/local/mysql:指定 MySQL 服务器的基本目录,即 MySQL 安装的位置。
  • datadir=/usr/local/mysql/data:指定 MySQL 数据库数据的存储目录。
  • socket=/usr/local/mysql/mysql.sock:设置 MySQL 服务器的套接字文件路径。套接字是网络通信的一种机制,用于在本地计算机上的不同程序之间进行通信。
  • lower_case_table_names = 1:设置表名和列名不区分大小写。这在某些情况下有助于兼容性,但通常建议在创建表和列时使用小写字母,以保持一致性。
  • bind-address = 0.0.0.0:允许 MySQL 服务器接受来自任何 IP 地址的连接。这通常在开发和测试环境中使用,但在生产环境中,你可能会想要限制它只接受来自特定 IP 地址的连接。
[mysqld_safe] 节
  • log-error=/var/log/mysqld.log:设置 MySQL 服务器错误日志的路径。这个日志文件用于记录 MySQL 服务器运行时出现的错误。
  • pid-file=/usr/local/mysql/data/mysqld.pid:设置 MySQL 服务器进程 ID 文件的路径。这个文件包含了 MySQL 服务器的进程 ID,可以在服务器启动和停止时使用。
[client] 节
  • socket=/usr/local/mysql/mysql.sock:指定客户端连接到 MySQL 服务器时使用的套接字文件路径。这个设置通常与 [mysqld] 节中的 socket 设置相同。
  • default-character-set=utf8:设置客户端默认的字符集为 UTF-8。这与服务器端设置相匹配,确保客户端与服务器之间的字符集一致。
    这些设置有助于确保 MySQL 服务器和客户端之间的通信顺畅,并且数据以正确的字符集存储和传输。

在这里插入图片描述

cp ./support-files/mysql.server /etc/init.d/mysqld
  1. cp ./support-files/mysql.server /etc/init.d/mysqld 的作用是将 MySQL 安装包中的启动脚本 mysql.server 复制到系统的初始化脚本目录 /etc/init.d/ 中,并重命名为 mysqld
sudo vim /etc/init.d/mysqld

使用 ? 找到 basedir 设置具体如下图

basedir=/usr/local/mysql 
datadir=/usr/local/mysql/data 

在这里插入图片描述

设置开机自启

sudo systemctl enable mysqld
  1. sudo systemctl enable mysqld 是用于在支持 Systemd 的 Linux 系统上将 MySQL 服务设置为开机自启。

在这里插入图片描述

配置mysql 的环境变量

sudo vim /etc/profile
  1. /etc/profile:是 Linux 系统中的一个重要文件,是所有用户登录时执行的个人配置脚本的父脚本。它主要用于设置系统的环境变量,这些环境变量会影响系统中的所有用户。
export PATH=$PATH:/usr/local/mysql/bin

在这里插入图片描述

立即生效最新的环境变量

source /etc/profile

重启服务

service mysqld restart

验证安装

mysql -uroot -p

如果发现报错:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

执行下面安装修复。

sudo apt-get install libncurses5

在这里插入图片描述

在这里插入图片描述
输入之前记录下的密码:q#lknTosf8f-

在这里插入图片描述

修改密码

我这里用 123456 作为密码,大家记得自己修改

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

在这里插入图片描述

测试

更改完成后,使用工具测试连接。没有问题

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盗理者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值