【最新】非常详细 ubuntu24安装mysql 8.0保姆级教程

目录

步骤1:搜索mysql安装包,命令 apt-cache search mysql-server 

如下图,列举出了所有的mysql-server的安装包,可以安装mysql-server(最新版),也可以安装mysql-server-8.0这个版本

步骤2:安装mysql8.0,命令  sudo apt-get install mysql-server-8.0

如下图

同意后,mysql就开始下载安装了,并且在安装成功后会自动启动进程,如下图

步骤3: 测试连接,命令 mysql -uroot -p

测试连接到本机mysql,此时是不需要密码的,虽然它提示输入密码,直接回车就行,如下图,

步骤4:查看此时的账号,密码,sql语句也很简单

第一条 use mysql; 即选中库mysql

第二条 select host, user, plugin from user; 即查看当前所有用户的限制登录地址,密码等信息

上图中也标记了,此时登录root账号仅限于localhost,即本机登录,且不需要密码,这也是为什么我们直接用 mysql -uroot -p 就能登陆成功。

步骤5:修改root可从任意IP登陆该,设置密码

第一条 update user set host = '%' where user = 'root';       把root账号的限制从localhost改为%,%表任意地址的意思

第二条 flush privileges;     刷新权限

第三条  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'B5XHYlx6';    修改root的密码

第四条  FLUSH PRIVILEGES;     刷新权限

结果如下图,可以看到root账号的plugin属性已经变成 "mysql_native_password" 即密码登录

步骤6:修改mysql配置文件,设置绑定IP不再是127.0.0.1,这样才能远程连接该mysql。

命令 vi /etc/mysql/mysql.conf.d/mysqld.cnf 打开这个配置文件,注释掉 bind-address           = 127.0.0.1 这一行,如下图

步骤7 重启mysql,这样才能生效

步骤8 现在可以用命令或者工具连接mysql了

### 头歌中使用聚合管道操作符实现文档定制格式输出 在头歌平台或其他支持 MongoDB 的环境中,可以通过 `aggregate()` 方法及其内置的操作符来实现复杂的数据处理和自定义输出。以下是关于如何利用 `$project` 和其他常用操作符(如 `$group`, `$match`, `$sort`, `$bucket` 等)完成数据的定制化输出。 #### 使用 `$project` 实现字段重命名与筛选 通过 `$project` 操作符可以重新定义返回的结果集结构,包括删除不需要的字段、添加计算后的字段以及修改现有字段名称。 ```javascript db.users.aggregate([ { $project: { fullName: { $concat: ["$firstName", " ", "$lastName"] }, // 合并名字和姓氏 age: 1, // 显示年龄字段 _id: 0 // 不显示_id字段 } } ]); ``` 上述代码片段展示了如何构建一个新的字段 `fullName` 并移除 `_id` 字段[^1]。 #### 利用 `$lookup` 进行跨集合联接 当需要从多个集合获取信息时,可采用 `$lookup` 来执行类似于 SQL 中 JOIN 的功能。例如,在 User 集合里查找部门详情: ```javascript db.User.aggregate([ { $lookup: { from: "Department", localField: "departmentId", foreignField: "_id", as: "deptDetails" } }, { $unwind: "$deptDetails" } // 展开数组以便进一步处理 ]); ``` 这里说明了怎样把两个不同表的信息结合起来展示给最终用户[^3]。 #### 应用 `$bucket` 对数值型数据分类统计 如果希望按某个连续变量划分区间,则可以用到 `$bucket` 。下面的例子演示基于用户的评分等来进行分组计数: ```javascript db.reviews.aggregate([ { $bucket: { groupBy: "$score", boundaries: [0, 1, 2, 3, 4, 5], default: "Other", output: { count: { $sum: 1 } } } } ]); ``` 此脚本解释了如何依据分数范围建立不同的桶,并记录每种情况下的实例数目[^4]。 #### 组合多种操作符达成更精细控制 实际应用往往涉及多步转换过程,这时就需要串联几个阶段共同作用于原始输入流上。比如先过滤掉不符合条件的部分再排序最后限制输出条目数量: ```javascript db.orders.aggregate([ {$match : {"status": "A"}}, // 只考虑状态为"A"订单 {$sort : {"amount": -1}}, // 根据金额降序排列 {$limit : 10} // 获取前十个结果 ]); ``` 以上示例体现了基本的选择、整理及截断逻辑链路[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值