麒麟(Kylin)系统下安装MySQL 8.4.5(离线版)

博主介绍:
计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,掌握mysql、oracle、sqlserver等主流数据库。具有丰富的项目经验和开发技能。提供相关的学习资料、程序开发、技术解答、代码讲解、文档报告等专业服务。
热爱写作,热爱分享编程知识,善于把知识点讲得通俗易懂,累积创作近百万字,累计浏览量 100 万+。
会持续分享编程干货和好玩的知识~


系统环境:

[root@xxzx-dalaochao-19 nydsjzx]# uname -a
Linux xxzx-dalaochao-19.novalocal 4.19.90-23.8.v2101.ky10.x86_64 #1 SMP Mon May 17 17:08:34 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@xxzx-dalaochao-19 nydsjzx]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Tercel)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"
ANSI_COLOR="0;31"

1、下载MySQL安装包

访问MySQL官方网站下载适用于Kylin的MySQL通用版本,选择自己需要的版本,我这里选了8.4.5。


2、卸载系统自带的mariadb和已安装过的MySQL包

为什么要卸载?因为mariadb会跟MySQL包安装产生冲突。

[root@xxzx-dalaochao-19 ~]# rpm -qa | grep mariadb
mariadb-connector-c-3.0.6-6.ky10.x86_64
[root@xxzx-dalaochao-19 ~]# rpm -e --nodeps mariadb-connector-c-3.0.6-6.ky10.x86_64
rpm -qa 是一个用于查询在Linux系统上安装的所有RPM包的命令。
rpm -e 是在Linux系统上用于卸载(或删除)已安装的RPM软件包的命令。使用--nodeps选项会绕过依赖性检查,强制安装或卸载RPM软件包。

如果已经安装了低版本mysql,也卸载

# 列出所有MySQL相关包 
[root@xxzx-dalaochao-19 nydsjzx]# rpm -qa | grep mysql
mysql-community-embedded-devel-5.7.44-1.el7.x86_64
mysql-community-client-5.7.44-1.el7.x86_64
mysql-community-devel-5.7.44-1.el7.x86_64
mysql-community-common-5.7.44-1.el7.x86_64
mysql-community-embedded-5.7.44-1.el7.x86_64
mysql-community-libs-compat-5.7.44-1.el7.x86_64
mysql-community-libs-5.7.44-1.el7.x86_64
mysql-community-embedded-compat-5.7.44-1.el7.x86_64
mysql-community-server-5.7.44-1.el7.x86_64

# 卸载
rpm -e --nodeps  mysql-community-embedded-devel-5.7.44-1.el7.x86_64
rpm -e --nodeps  mysql-community-client-5.7.44-1.el7.x86_64
rpm -e --nodeps  mysql-community-devel-5.7.44-1.el7.x86_64
rpm -e --nodeps  mysql-community-common-5.7.44-1.el7.x86_64
rpm -e --nodeps  mysql-community-embedded-5.7.44-1.el7.x86_64
rpm -e --nodeps  mysql-community-libs-compat-5.7.44-1.el7.x86_64
rpm -e --nodeps  mysql-community-libs-5.7.44-1.el7.x86_64
rpm -e --nodeps  mysql-community-embedded-compat-5.7.44-1.el7.x86_64
rpm -e --nodeps  mysql-community-server-5.7.44-1.el7.x86_64
# 清理残留文件
rm -rf /var/lib/mysql  # 删除数据目录
rm -rf /etc/my.cnf* /etc/mysql  # 删除配置文件
rm -rf /usr/local/mysql  # 若源码安装需删除安装目录

3、解压并配置安装目录

# 解压
tar -xvf mysql-8.4.5-linux-glibc2.17-x86_64.tar.xz -C /usr/local/
cd /usr/local
mv mysql-8.4.5-linux-glibc2.17-x86_64 mysql-8.4.5
# 创建数据目录(根据自个磁盘空间情况自行调整)
mkdir /var/lib/mysql
# 创建用户及权限配置
groupadd mysql && useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql-8.4.5
chown mysql:mysql /var/lib/mysql

4、修改配置文件:vi /etc/my.cnf

根据自己的需要修改配置文件,如下我指定了端口为8888

[mysqld]
# 设置8888端口
port=8888
# 设置mysql的安装目录
basedir=/usr/local/mysql-8.4.5
# 设置mysql数据库的数据的存放目录
datadir=/var/lib/mysql
# 允许最大连接数
max_connections=5000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=1000
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证(新版本)
mysql_native_password=ON
# 默认使用“mysql_native_password”插件认证(旧版本)
# default_authentication_plugin=mysql_native_password

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=8888
# 设置mysql字符集排序规则
collation-server=utf8mb4_0900_ai_ci

5、初始化数据库

cd /usr/local/mysql-8.4.5
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.4.5 --datadir=/var/lib/mysql
# 记录输出的临时密码(如A temporary password is generated for root@localhost:: 临时密码)

详情如下:

[root@xxzx-dalaochao-19 mysql-8.4.5]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.4.5 --datadir=/var/lib/mysql
2025-04-29T08:59:16.197715Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2025-04-29T08:59:16.200616Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.4.5/bin/mysqld (mysqld 8.4.5) initializing of server in progress as process 2819431
2025-04-29T08:59:16.268813Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-04-29T08:59:25.545922Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-04-29T08:59:36.856254Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jxf4A#4ys4e*
2025-04-29T08:59:47.977784Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.

6、配置系统服务

设置可以通过mysqld控制MYSQL服务和开机自启

cd /usr/local/mysql-8.4.5
# 将MySQL自带的启动脚本mysql.server复制到系统的服务管理目录/etc/init.d/中,并重命名为mysqld
cp support-files/mysql.server /etc/init.d/mysqld
systemctl daemon-reload
systemctl enable mysqld

7、设置MySQL的环境变量

不设置环境变量在使用mysql客户端时不识别命令,就得进入bin目录执行./mysql -uroot -p,vi /etc/profile

# 在末尾添加如下内容:
export MYSQL_HOME=/usr/local/mysql-8.4.5
export PATH=$PATH:$MYSQL_HOME/bin

# 然后执行如下命令加载环境变量
source /etc/profile

8、启动MySQL

# 启动MySQL
systemctl start mysqld

9、修改密码,授权远程访问,新建用户

# 登录
mysql -uroot -p
# 设置新密码
alter user 'root'@'localhost' identified by 'DaLao@666';
# 授权远程访问
update user set user.Host='%' where user.User='root';
# 新建用户dlc
create user 'dlc'@'%' identified by 'DaLao@666';
# 授权
grant all privileges on *.* to 'dlc'@'%';
# 刷新权限
flush privileges;

详情如下:

# 登录
[root@xxzx-dalaochao-19 bin]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 520
Server version: 8.4.5

Copyright (c) 2000, 2025, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 当前任何操作都会先让你修改临时密码
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
# 设置新密码
mysql> alter user 'root'@'localhost' identified by 'DaLao@666';
Query OK, 0 rows affected (0.11 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
# 授权远程访问
mysql> update user set user.Host='%' where user.User='root';
Query OK, 1 row affected (0.11 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select Host,User,authentication_string from user;
+-----------+------------------+------------------------------------------------------------------------+
| Host      | User             | authentication_string                                                  |
+-----------+------------------+------------------------------------------------------------------------+
| %         | root             | $A$005$343     #o10*yna;8      3hTukUAMEGQOjsKruiVr/GFuXNt3wHvTiKBoTzLQ5vA |
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
+-----------+------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
# 新建用户
mysql> create user 'dlc'@'%' identified by 'DaLao@666';
Query OK, 0 rows affected (0.06 sec)
# 授权
mysql> grant all privileges on *.* to 'dlc'@'%';
Query OK, 0 rows affected (0.10 sec)
# 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.4.5     |
+-----------+
1 row in set (0.00 sec)

更多技术干货,请持续关注程序员大佬超。
原创不易,转载请务必注明出处。


技术交流

大家点赞、收藏、关注、评论啦!


更多技术干货,请持续关注程序员大佬超。
原创不易,转载请务必注明出处。

### macOS 上安装 MySQL 8.4.5 的指南 目前官方发布的最新稳定版 MySQL 版本为 8.0.x 系列[^1],而尚未有正式的 MySQL 8.4.5 发布版本。因此,如果需要在 macOS 上安装 MySQL,则建议按照最新的稳定版本 (MySQL 8.0.x) 进行操作。 以下是基于 Homebrew 工具在 macOS 上安装并配置 MySQL 8.0.x 的具体方法: #### 使用 Homebrew 安装 MySQL Homebrew 是 macOS 平台上非常流行的包管理工具,可以方便地安装和管理软件。通过它来安装 MySQL 非常简单高效。 运行以下命令以更新 Homebrew 和安装 MySQL: ```bash brew update brew install mysql@8.0 ``` 完成安装后,可以通过以下命令启动 MySQL 服务: ```bash brew services start mysql@8.0 ``` 验证 MySQL 是否成功启动: ```bash ps aux | grep mysqld ``` #### 设置 MySQL 初始密码 首次安装完成后,默认情况下 root 用户是没有设置密码的。为了安全起见,推荐执行 `mysql_secure_installation` 脚本来初始化数据库的安全选项: ```bash sudo mysql_secure_installation ``` 此脚本会引导用户更改默认密码、移除匿名账户以及其他安全性增强措施[^2]。 #### 解决路径问题 有时可能会遇到 `-bash: mysql: command not found` 错误提示。这是因为系统的 PATH 环境变量未正确指向 MySQL 的可执行文件目录。解决办法如下: 编辑用户的 `.bash_profile` 文件,添加 MySQL 的 bin 目录至 PATH 中: ```bash vim ~/.bash_profile ``` 追加以下内容到文件末尾: ```bash export PATH="/usr/local/opt/mysql@8.0/bin:$PATH" ``` 保存修改后的文件,并重新加载该配置文件使其生效: ```bash source ~/.bash_profile ``` #### 测试连接 尝试登录 MySQL 数据库服务器以确认一切正常工作: ```bash mysql -u root -p ``` --- ### 注意事项 由于当前不存在 MySQL 8.4.5 正式发布版本,请始终关注官方网站获取最新动态和支持信息[^3]。对于生产环境部署而言,务必选用经过充分测试且稳定的发行版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员大佬超

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

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

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

打赏作者

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

抵扣说明:

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

余额充值