文章目录
一、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)
标签:lib,数据库,sec,mysql,var,openEuler,root
From: https://blog.csdn.net/weixin_44774550/article/details/142374904