Linux 系统虚拟机管理及其安装、重置的简单脚本

本文介绍如何手动和使用脚本安装虚拟机,包括内存、硬盘等配置,并覆盖虚拟机的启动、关闭等管理操作,还涉及快照管理和跨主机快速安装的方法。

                                        系统虚拟机管理

 

 

1.安装

 

 

1)手动安装

在主机终端输入命令打开虚拟机管理

添加光盘并选择虚拟机安装方式为光盘安装并将光盘安装调至优先

点击添加虚拟机按钮并选择第一项本地安装

添加安装所需镜像文件

注意:安装所需镜像文件需到Redhat官网进行下载

选择所需虚拟机内存、硬盘大小及其名称

选择下图所示第一项进行下一步

选择系统语言

注意:一般选择系统默认语言及英语

选择时区为上海

选择系统可支持语言

注意:选择添加中文即可

选择基础环境为GUI

存储设置选择自定义并选择“Standard Partition“,然后进行相关配置

注意:/boot下200M基本够用且交换(swap)分区的大小根据系统内存大小而定

设置密码及用户名

注意:当密码安全级别较低时及显示红条时,在不愿更换密码的前提下,需点击两次“Done“按钮

等待安装

安装完成(node1)

 

2)脚本安装

 

#!/bin/bash ##命令运行环境的指定

virt-install \ ##安装虚拟机
--name $1 \ ##虚拟机名称指定,$1表示脚本后的第一串字符
--ram 1000 \ ##内存
--file /var/lib/libvirt/images/$1.img \ ##硬盘文件
--file-size 8 \ ##硬盘文件大小

 

--cdrom /var/ftp/pub/iso/rhel-server-7.1-x86_64-dvd.iso & ##安装源指定

 

脚本编写

赋给脚本可执行权限并执行脚本创建虚拟机node2

2.管理

virt-manager ##开启图形管理工具
virt-viewer vmname ##显示虚拟机,vmname表示虚拟机名称
virsh list ##列出正在运行的vm

 

virsh list --all ##列出所有vm

 

virsh start vmname ##运行指定vm
virsh shutdown vmname ##正常关闭指定vm

 

virsh destroy vmname ##强行结束指定vm

 

注意:shutdown是正常关闭,destroy是强制关闭

virsh create vmname.xml ##临时恢复指定vm,vmname表示前端管理文件

virsh define vmname.xml ##永久恢复vm

注意:两个最明显的区别是前者关闭虚拟机后前端管理文件也随之删除,而后者不会

virsh undefine vmname ##删除vm的前端管理,不会删除存储


 

3.虚拟机快照

qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2

 

1)快照文件创建虚拟机

脚本编写

注意:上图脚本第2行的文件称为母本,及快照文件的源文件,它存储在硬盘中,在下面目录中可查看

赋给脚本文件执行权限

 

创建名称为node1的虚拟机

2)快照文件重启虚拟机

进入上面创建的虚拟机node1并删除根下所有文件

虚拟机被破坏无法重启

脚本编写

说明:/dev/null的意思是将警告打入后台,不显示在终端上;echo:终端显示其后的字符

赋给文件执行权限并重启虚拟机

 

重置成功

4.其他主机虚拟机的快速安装

在下面目录中将前端管理文件node1.xml复制到/mnt/中

在下面目录中将母本文件node1-1.qcow移动到/mnt/中

然后将上面两个文件拷到相对应所需安装虚拟机主机中的文件中,根据上文安装步骤安装即可

注意:这里的/mnt/可代表U盘或目标主机的文件

说明:上述过程及快照安装、重启虚拟机说明前端管理文件可任意删除,但母本文件不能删除,否则将无法通过快照安装及重启(母本文件在硬盘中)

 

<think>我们正在为Ubuntu系统Linux虚拟机安装MySQL提供新手教程。根据引用[1]和[2],我们知道在Ubuntu虚拟机安装MySQL是常见的开发环境配置步骤。下面将提供详细步骤,注意Ubuntu系统通常使用apt包管理器。 ### 详细步骤: #### 1. 更新系统安装任何软件之前,更新系统软件包列表和升级现有软件是一个好习惯: ```bash sudo apt update sudo apt upgrade -y ``` #### 2. 安装MySQL服务器 Ubuntu官方仓库提供了MySQL服务器软件包,直接安装: ```bash sudo apt install mysql-server -y ``` 这个命令安装MySQL服务器及其依赖。安装过程中,系统可能会提示你设置root密码,但在最新版本的Ubuntu中,MySQL默认使用auth_socket插件认证,安装后可以通过安全脚本来设置密码。 #### 3. 启动并启用MySQL服务 安装完成后,MySQL服务应该已经自动启动。如果没有,手动启动并设置开机启动: ```bash sudo systemctl start mysql sudo systemctl enable mysql ``` #### 4. 运行安全配置脚本 运行以下脚本进行安全设置,包括设置root密码、移除匿名用户、禁止远程root登录、移除测试数据库等: ```bash sudo mysql_secure_installation ``` 按照提示操作。建议设置强密码,并回答所有安全相关的问题为“是”。 #### 5. 验证安装 登录MySQL控制台验证安装: ```bash sudo mysql -u root -p ``` 输入你设置的root密码后,应该会进入MySQL命令行。执行一些基本命令: ```sql SHOW DATABASES; ``` 退出MySQL命令行: ```sql EXIT; ``` #### 6. 配置字符集(可选,推荐) 为了避免中文乱码等问题,建议将MySQL默认字符集设置为utf8mb4(支持4字节UTF-8编码,包括emoji)。编辑MySQL配置文件: ```bash sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf ``` 在`[mysqld]`部分添加以下配置: ```ini [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci ``` 保存并退出。然后重启MySQL服务: ```bash sudo systemctl restart mysql ``` #### 7. 创建新用户和数据库(可选) 为了安全,不建议直接使用root用户。创建一个新用户和数据库: 登录MySQL: ```bash sudo mysql -u root -p ``` 创建数据库: ```sql CREATE DATABASE mydb; ``` 创建用户并授予权限(将`username`和`password`替换为你的值): ```sql CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%'; FLUSH PRIVILEGES; ``` 注意:`'%'`允许从任何主机连接,如果只在本地使用,可替换为`'localhost'`。 #### 8. 配置远程访问(可选) 如果需要从其他机器访问虚拟机中的MySQL,需要修改绑定地址: ```bash sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf ``` 找到`bind-address`一行,将其值从`127.0.0.1`改为`0.0.0.0`(允许所有IP)或指定IP。然后重启MySQL: ```bash sudo systemctl restart mysql ``` 同时,确保虚拟机防火墙允许3306端口(MySQL默认端口): ```bash sudo ufw allow 3306 ``` ### 常见问题解决 - **安装过程中出现依赖问题**:尝试运行`sudo apt --fix-broken install`修复依赖,然后重新安装。 - **忘记root密码**:参考MySQL官方文档重置密码,步骤包括停止MySQL服务,使用`--skip-grant-tables`启动,然后更新密码。 - **连接问题**:检查MySQL服务是否运行,端口是否开放,以及用户权限是否正确。 ### 总结 以上是在Ubuntu虚拟机安装MySQL的完整步骤。整个过程大约需要10分钟,具体取决于网络速度和虚拟机性能。安装完成后,你就可以在虚拟机中使用MySQL进行开发了[^1][^2]。 §§相关问题§§ 1. 如何优化Ubuntu虚拟机中的MySQL性能? 2. 在Ubuntu中安装MySQL时遇到依赖冲突怎么办? 3. Ubuntu虚拟机中MySQL数据库如何备份和恢复?</think>### Ubuntu虚拟机安装MySQL新手详细教程 以下是在Ubuntu系统Linux虚拟机安装MySQL的完整步骤,专为新手设计。整个过程约需10分钟,请确保虚拟机已联网且具有`sudo`权限。 --- #### 步骤1:更新系统 ```bash sudo apt update # 刷新软件包列表 sudo apt upgrade -y # 升级所有可更新软件 ``` --- #### 步骤2:安装MySQL服务器 ```bash sudo apt install mysql-server -y # 自动安装最新版MySQL ``` > ✅ **安装说明**: > - 默认安装MySQL 8.x(当前稳定版) > - 系统会自动创建`mysql`用户和基础配置文件 --- #### 步骤3:启动并配置MySQL 1. **启动服务**: ```bash sudo systemctl start mysql # 启动服务 sudo systemctl enable mysql # 设置开机自启 sudo systemctl status mysql # 检查状态(应显示active) ``` 2. **运行安全配置向导**: ```bash sudo mysql_secure_installation ``` > 📌 **按提示操作**: > 1. 设置root密码(需输入两次) > 2. 移除匿名用户 ➜ 输入`Y` > 3. 禁止远程root登录 ➜ 输入`Y` > 4. 删除测试数据库 ➜ 输入`Y` > 5. 重新加载权限表 ➜ 输入`Y` --- #### 步骤4:字符集配置(防中文乱码) 1. 编辑配置文件: ```bash sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf ``` 2. 在`[mysqld]`块下添加: ```ini character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci ``` 3. 重启服务生效: ```bash sudo systemctl restart mysql ``` --- #### 步骤5:验证安装 ```bash mysql -u root -p # 输入刚设置的密码 ``` 在MySQL命令行中执行: ```sql SHOW VARIABLES LIKE 'character_set%'; -- 检查字符集应为utf8mb4 EXIT; -- 退出 ``` --- #### 步骤6:创建新用户(可选) ```sql CREATE USER 'devuser'@'localhost' IDENTIFIED BY 'YourPassword123!'; -- 创建本地用户 GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'localhost'; -- 授予权限 FLUSH PRIVILEGES; -- 刷新权限 ``` --- ### 常见问题解决 | 问题现象 | 解决方案 | |----------|----------| | 忘记root密码 | `sudo systemctl stop mysql` → `sudo mysqld_safe --skip-grant-tables &` → 用`mysql`命令重置密码 | | 连接被拒绝 | 检查防火墙:`sudo ufw allow 3306` | | 中文显示乱码 | 确认配置文件已添加`utf8mb4`并重启服务 | > 💡 **提示**:虚拟机中MySQL默认仅允许本地连接。如需远程访问,需修改配置文件中的`bind-address = 0.0.0.0`并重启服务[^1][^2]。 --- ### 测试用例 ```bash # 尝试用新用户登录 mysql -u devuser -p # 创建测试数据库 CREATE DATABASE test_db; USE test_db; CREATE TABLE users (id INT AUTO_INCREMENT, name VARCHAR(20), PRIMARY KEY(id)); INSERT INTO users (name) VALUES ('虚拟机测试'); SELECT * FROM users; -- 应显示中文数据 ``` --- ### 总结 至此你已完成: 1. MySQL 8.x的安装与安全配置 2. 中文支持优化 3. 基础用户管理 4. 基础故障排查能力 下一步建议: - 学习使用`mysqldump`进行数据库备份 - 尝试在虚拟机中部署PHP/Python+MySQL项目[^1][^2]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值