mysql数据库 - openEuler安装


一、openEuler系统介绍

1.1、openEuler系统的起源

openEuler系统的起源可以追溯到华为在2019年发起的一个开源项目,旨在构建一个基于Linux内核的开源操作系统。

  • 命名由来:openEuler的名字来源于数学家欧拉(Leonhard Euler),他的发现和公式在数学史上具有里程碑式的意义。这种以欧拉命名的方式体现了openEuler的创新探索精神和成为里程碑式操作系统社区的决心。
  • 前身背景:openEuler的前身是华为的服务器操作系统EulerOS,这款操作系统支持X86和ARM等多种处理器架构,并且与华为的鲲鹏芯片紧密集成。随着华为业务的发展,特别是围绕计算产业构建全方位生态的战略阶段,华为决定将EulerOS开源,并更名为openEuler,以促进更广泛的社区合作和技术共享。
  • 开源初衷:华为选择将EulerOS开源的主要原因是为了构建一个开放、共享的技术平台,通过全球开发者的贡献,共同推动操作系统技术的进步和应用生态的繁荣发展。这一决策反映了华为对于开源软件价值的认可,以及其在推动技术创新方面的长远规划。
  • 技术积累:openEuler的技术基础建立在华为多年的操作系统研发之上,包括内核、编译器、虚拟化和容器等核心技术。这些技术的积累为openEuler的快速发展提供了坚实的基础,并使其能够快速适应不断变化的技术需求和市场趋势。
  • 社区发展:自开源以来,openEuler迅速吸引了大量开发者和企业的参与,形成了一个活跃的开源社区。社区成员不仅来自华为,还包括其他公司和个人开发者,他们共同贡献代码,分享经验,推动openEuler的技术进步和应用创新。
  • 版本迭代:从最初的版本到现在,openEuler已经经历了多次重要的版本更新。每个版本的发布都带来了新的特性和改进,如对RISC-V架构的支持,以及对AI和云计算场景的优化。这些更新不仅提升了openEuler的性能和稳定性,也扩展了其应用场景。
  • 国际影响:openEuler作为中国开源软件的重要代表之一,其发展和成功在国际上产生了广泛的影响。它不仅展示了中国企业在开源领域的创新能力,也为全球开源社区贡献了重要的技术和资源。

1.2、openEuler系统的特点

  • 技术特点

    • 性能优化:openEuler采用先进的调度算法和内存管理机制,显著提高了系统的响应速度和吞吐量。这种优化确保了系统在处理大量数据或运行复杂应用时能够保持高效率。
    • 安全增强:openEuler提供包括安全启动、数据加密、访问控制等在内的多重安全保障措施,确保用户数据的安全性。这些功能对于需要高安全性的应用场景尤为重要,如金融和政府机构。
    • 容器化支持:openEuler对Docker和Kubernetes等容器技术提供了强有力的支持,便于开发者构建、部署和管理容器化应用。这一特性使得openEuler成为云原生应用开发的理想选择。
  • 应用场景

    • 云计算领域:openEuler在云计算环境中表现出色,能够作为云平台的底层操作系统,为云服务提供商提供高效、稳定的运行环境。它有效管理虚拟机资源,提高云资源的利用率,同时保障云服务的安全性和可靠性。
    • 企业级应用:openEuler为企业构建内部办公网络、数据中心等提供了理想的解决方案。其高性能和高可用性确保了关键业务应用的正常运行,如ERP系统、CRM系统等。
  • 开源社区

    • 全球开发者参与:openEuler拥有一个活跃的开源社区,全球开发者共同参与系统的开发和维护。这种开放性促进了技术的快速迭代和持续创新。
    • 多样化算力生态体验:openEuler已经支持X86、ARM、RISC-V等多种处理器架构,并计划扩展更多芯片架构的支持,以完善多样化算力生态体验。
  • 系统架构

    • 引领内核创新:openEuler在云原生调度、新文件系统等方面进行了创新,提高了在线业务的实时性和文件读写性能。同时,通过内存分级扩展等技术,优化了系统性能。
    • 探索场景创新:openEuler针对边缘计算和嵌入式领域推出了特定版本,满足了不同场景下的应用需求。这些版本具有快速启动、小体积等特点,适合在资源受限的环境中使用。
  • 生态价值

    • 产业生态繁荣发展:openEuler实现了从代码开源到产业生态的快速构建,为多个行业的核心业务提供了支撑。这有助于构筑安全可靠的数字基础设施底座,推动企业数字化转型。
    • 统一操作系统支持多设备:openEuler致力于实现统一操作系统支持多设备的目标,通过一次开发覆盖全场景,简化了应用的开发和部署过程。

1.3、openEuler系统的版本支持

  • 主线版本:openEuler系统有一个主线版本,即最新的稳定版本。主线版本会定期发布更新,包含新功能、修复漏洞和性能改进等。用户可以通过升级到主线版本来获取最新的功能和安全补丁。
  • 长期支持版本(LTS):openEuler系统还提供长期支持版本,这些版本通常具有更长的支持周期。长期支持版本会提供更长时间的安全更新和维护,适用于需要长时间稳定性和可靠性的场景。
  • 社区版:除了官方发布的正式版本外,openEuler系统还有一个社区版,由社区成员维护和开发。社区版可能包含一些实验性的功能和特性,但可能不如主线版本稳定。
  • 企业版:openEuler系统还提供了企业版,为企业用户提供更加定制化和高级的功能和服务。企业版通常包含更多的商业支持和服务,以满足企业级应用的需求。
  • 其他特殊版本:openEuler系统还可能发布一些特殊版本,如针对特定硬件平台或应用场景的优化版本。这些特殊版本可能会针对特定的硬件架构进行优化,以提供更好的性能和兼容性。

二、环境搭建

2.1、修改静态地址

# 修改IP地址
[root@ecs-204824 /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"	#dhcp改为static
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=192.168.1.100	# 添加本机ip地址
NETMASK=255.255.255.0	# 添加子网掩码
GATEWAY=192.168.1.1		# 添加网关
DNS1=8.8.8.8		# 添加dns
DNS2=8.8.4.4
PERSISTENT_DHCLIENT="yes"
# 重启网卡进行生效
[root@ecs-204824 /]# systemctl restart NetworkManager

2.2、修改主机名称

# 修改主机名
[root@ecs-204824 /]# vi /etc/hostname
[root@ecs-204824 /]# cat /etc/hostname
mysql
# 重新加载主机名
[root@ecs-204824 /]# systemctl restart systemd-logind
# 重启系统
[root@ecs-204824 /]# reboot

2.3、关闭防火墙或放通端口

[root@mysql ~]# systemctl stop firewalld
[root@mysql ~]# systemctl disable firewalld

2.4、关闭selinux

[root@mysql ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

三、安装mysql数据库

3.1、安装mysql

[root@mysql ~]# yum install -y mysql

3.2、配置mysql数据库及服务

# 创建mysql的路径目录
[root@mysql ~]# mkdir /var/lib/mysql
[root@mysql ~]# cd /var/lib/mysql/
[root@mysql mysql]# ls
# data 文件夹通常包含MySQL数据库的所有数据文件
# tmp文件夹通常用于存储临时文件
# run文件夹用于存储与MySQL服务器运行相关的文件或信息
# log文件用于存储mysql数据库的日志
[root@mysql mysql]# mkdir data tmp run log
[root@mysql mysql]# touch /var/lib/mysql/log/mysql.log
# 修改mysql文件的所有者和所属组
[root@mysql mysql]# chown -R mysql:mysql /var/lib/mysql
# 将MySQL服务器的配置信息写入到/etc/my.cnf文件中
[root@mysql /]# rm -f /etc/my.cnf
[root@mysql /]# echo -e "[mysqld_safe]\nlog-error=/var/lib/mysql/log/mysql.log\npid-file=/var/lib/mysql/run/mysqld.pid\n\n[mysqldump]\nquick\n\n[mysql]\nno-auto-rehash\n\n[client]\nport=3306\ndefault-character-set=utf8\n\n[mysqld]\nuser=root\nport=3306\nbasedir=/usr/local/mysql\nsocket=/tmp/mysql.sock\ntmpdir=/var/lib/mysql/tmp\ndatadir=/var/lib/mysql/data\ndefault_authentication_plugin=mysql_native_password\nskip-grant-tables" > /etc/my.cnf
[root@mysql /]# cat etc/my.cnf
[mysqld_safe]
log-error=/var/lib/mysql/log/mysql.log
pid-file=/var/lib/mysql/run/mysqld.pid

[mysqldump]
quick

[mysql]
no-auto-rehash

[client]
port=3306
default-character-set=utf8

[mysqld]
user=root
port=3306
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
tmpdir=/var/lib/mysql/tmp
datadir=/var/lib/mysql/data
default_authentication_plugin=mysql_native_password
skip-grant-tables
# 加载mysql服务
# mysql.server拥有全部的权限
[root@mysql /]# chmod 777 /usr/local/mysql/support-files/mysql.server
[root@mysql /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
cp: overwrite '/etc/init.d/mysql'?
[root@mysql /]# chkconfig mysql on
[root@mysql /]# chown -R mysql:mysql /etc/init.d/mysql
# 配置环境变量
[root@mysql /]# export PATH=$PATH:/usr/local/mysql/bin  >> /etc/profile
# 加载环境变量
[root@mysql /]# source /etc/profile
[root@mysql /]# sed -i '$a\PATH=$PATH:/usr/local/mysql/bin' /etc/profile

3.3、初始化mysql

# 注:其中会有用户名和密码
[root@mysql /]# mysqld --defaults-file=/etc/my.cnf --initialize
2024-09-23T09:01:00.560922Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.17) initializing of server in progress as process 4297
2024-09-23T09:01:03.001257Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 3v0Q59teV,jz
2024-09-23T09:01:04.181095Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.17) initializing of server has completed
[root@mysql /]# chown -R mysql:mysql /var/lib/mysql/data

3.4、启动mysql数据库

[root@mysql /]# service mysql start
[root@mysql /]# service mysql status
 SUCCESS! MySQL running (4698)
 [root@mysql /]# ps -ef | grep mysql
root        4475       1  0 17:03 ?        00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/var/lib/mysql/data --pid-file=/var/lib/mysql/data/mysql.pid
root        4698    4475  0 17:03 ?        00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=root --log-error=/var/lib/mysql/log/mysql.log --pid-file=/var/lib/mysql/data/mysql.pid --socket=/tmp/mysql.sock --port=3306
root        5254    2575  0 17:11 pts/0    00:00:00 grep --color=auto mysql

3.5、访问mysql数据库

[root@mysql /]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.17 Source distribution

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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>

四、mysql操作

4.1、修改密码

注:因为之前的密码是mysql自动提供的所以需要改为我们自己容易记得密码

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> alter user 'root'@'localhost' identified by 'yuan3128..';
Query OK, 0 rows affected (0.00 sec)

4.2、创建远程登陆账户

# 创建远程登陆账户
mysql> create user 'user'@'%' identified by 'yuan3128..';
Query OK, 0 rows affected (0.00 sec)

# 赋予全部权限
mysql> grant all privileges on *.* to 'user'@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)

# 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

# 查看现有的用户
mysql> select user,host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| user             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

4.3、修改

# 创建数据库
mysql> create database test_mysql;
Query OK, 1 row affected (0.01 sec)

# 选中数据库
mysql> use test_mysql;
Database changed

# 创建数据表
mysql> create table test_table(
    -> num char(10) not null unique,
    -> name varchar(10) not null,
    -> gender enum('男','女') not null,
    -> age int not null);
Query OK, 0 rows affected (0.02 sec)

# 添加数据
mysql> INSERT INTO test_table (num, name, gender, age) VALUES
    -> (1, '李四', '男', 22),
    -> (2, '李明', '男', 18),
    -> (3, '小红', '女', 20);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

4.4.1、修改表中数据

mysql> select * from test_table limit 10;
+-----+--------+--------+-----+
| num | name   | gender | age |
+-----+--------+--------+-----+
| 1   | 李四   ||  22 |
| 2   | 李明   ||  18 |
| 3   | 小红   ||  20 |
+-----+--------+--------+-----+
3 rows in set (0.00 sec)

mysql> update test_table set age = 20 where num = 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from test_table limit 10;
+-----+--------+--------+-----+
| num | name   | gender | age |
+-----+--------+--------+-----+
| 1   | 李四   ||  20 |
| 2   | 李明   ||  18 |
| 3   | 小红   ||  20 |
+-----+--------+--------+-----+
3 rows in set (0.01 sec)

4.4.2、在表中添加列

mysql> alter table test_table add ip varchar(15) not null;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> select * from test_table limit 10;
+-----+--------+--------+-----+----+
| num | name   | gender | age | ip |
+-----+--------+--------+-----+----+
| 1   | 李四   ||  20 |    |
| 2   | 李明   ||  18 |    |
| 3   | 小红   ||  20 |    |
+-----+--------+--------+-----+----+
3 rows in set (0.00 sec)

4.4.3、修改数据类型

mysql> alter table test_table modify age int;
Query OK, 0 rows affected (0.14 sec)
Records: 0  Duplicates: 0  Warnings: 0

4.4.4、修改列名

mysql> alter table test_table change ip IP_1 varchar(15);
Query OK, 0 rows affected (0.13 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> select * from test_table limit 10;
+-----+--------+--------+------+------+
| num | name   | gender | age  | IP_1 |
+-----+--------+--------+------+------+
| 1   | 李四   ||   20 |      |
| 2   | 李明   ||   18 |      |
| 3   | 小红   ||   20 |      |
+-----+--------+--------+------+------+
3 rows in set (0.01 sec)

4.4.5、修改表名

mysql> alter table test_table rename to students;
Query OK, 0 rows affected (0.01 sec)
### 安装准备 为了在 OpenEuler 系统上成功安装 MySQL 数据库,需先访问 MySQL 官网下载页面获取适用于该系统的 MySQL 版本[^1]。对于特定版本的选择,可参照已验证过的软件包列表来确保兼容性,例如 MySQL 5.7.21 及其关联组件均已被确认可以在 OpenEuler 上运行良好[^4]。 ### 下载与安装过程 通过 MySQL 官方档案页面找到适合 OpenEuler 的二进制分发文件并完成下载操作。之后按照常规流程利用 `rpm` 或者其他包管理工具来进行本地安装工作。如果处于离线环境,则应提前准备好所有必要的 RPM 文件,并依照依赖关系依次安装这些文件[^2]。 ### 配置与初始化 安装完成后,应当执行如下命令以检查当前环境中是否存在任何名为 "mysql" 的程序包: ```bash rpm -qa | grep mysql ``` 接着需要对新安装好的 MySQL 进行初次配置——即创建初始数据目录以及设置默认权限结构等重要步骤。这一步骤可通过下面这条指令实现: ```bash mysqld --initialize --console; ``` 上述命令还会自动生成临时密码用于首次登录时的身份验证;此密码记录于日志文件内,可以通过以下方式提取出来: ```bash cat /var/log/mysqld.log | grep password ``` 最后,在一切顺利的前提下,应该能够看到 MySQL 服务已经自动启动。当然也可以手动检验这一点,比如借助 `systemctl status mysqld` 来查看服务状态或是运用 `ps aux | grep mysql` 寻找对应的进程条目[^3]。 ### 登录测试 当以上各环节都无误后,就可以尝试连接到新的 MySQL 实例上了。此时需要用到之前提到的那个随机生成的 root 用户密码,并指定正确的 socket 文件路径作为参数传递给客户端工具: ```bash mysql -u root -p --socket=/data/mysql-data/mysql.sock ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

十一的学习笔记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值