MySQL安装及基本命令

MySQL安装

安装命令

brew install mysql

安装过程:
在这里插入图片描述
先执行mysql.server start重启一下,然后执行mysql_secure_installation
在这里插入图片描述
出现这种情况,是因为密码强度不够,可以先退出来(control+C),使用无密码进行登录之后,再进行修改密码。

解决方法:

#无密码登录
mysql -uroot 

查看 mysql 初始的密码策略, 输入语句SHOW VARIABLES LIKE 'validate_password%';进行查看
在这里插入图片描述
首先需要设置密码的验证强度等级,设置 validate_password.policy的全局参数为 LOW 即可,输入设值语句SET GLOBAL validate_password.policy=LOW; 进行设值。
在这里插入图片描述
当前密码长度为8,如果不介意的话就不用修改了。按照通用设置为6位的密码,设置validate_password_length的全局参数为6即可,输入设值语句SET GLOBAL validate_password.length=6;进行设值
在这里插入图片描述
成功修改密码强度等级和长度。

现在可以为MySQL设置简单密码了,只要满足六位的长度即可,
输入修改语句ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';可以看到修改成功,表示密码策略修改成功了!!!(此时不能使用mysql_secure_installation去设置密码啦!)

注意: 修改成功后,最好重启下mysql.server start

接下来就可以使用mysql -uroot -p进入数据库啦!!!
在这里插入图片描述

MySQL基本操作

数据库操作

#查看所有数据库
mysql> show databases;

#创建数据库
mysql> create database database_name;

#设置指定字符集数据库
mysql> create database database_name
    -> default character set gbk;

#查看数据库的字符集
mysql> show create database database_name;

#删除数据库
mysql> drop database database_name;

#切换使用的数据库
mysql> use database_name;

表管理

#查看所有表
mysql> show tables;

#创建表
mysql> create table table_name(
    -> column1 column1_type,
    -> column2 column2_type,
    -> column3 column3_type);

#查看表结构
mysql> desc table_name;

#删除表
mysql> drop table table_name;

#修改表的列
mysql> alter table 表名 add column 列 列的类型;
mysql> alter table 表名 drop column 列名;
mysql> alter table 表名 modify column 列名 新的类型;
mysql> alter table 表名 change column 列名 新的列名 新的类型;

增删改数据

#插入数据
mysql> insert into 表名(列名,列名) values(,);

#开启事务的情况下,delete删除的数据可以恢复,truncate删除的数据不能恢复
#删除表中全部数据
mysql> delete from 表名;

#删除所有满足条件的数据
mysql> delete from 表名 where 列名=and|or 列名=;

#修改表中的数据
mysql> update 表名 set=where=;

查询数据

#查询指定列数据
mysql> select 列名 from 表名;

#起别名
mysql> select 列名 as 别名 from 表名;

#去重查询
mysql> select distinct 列名 from 表名;

#按条件查询
mysql> select * from 表名 where 列名=;
mysql> select * from 表名 where 列名=and 列名=;
mysql> select * from 表名 where 列名 is null;
mysql> select * from 表名 where 列名 is not null;

#模糊查询
mysql> select * from 表名 where 列名 like '%模糊字段%';
mysql> select * from 表名 where 列名 like '模糊字段_';

通过聚合函数查询

#计数
mysql> select count(*) from 表名;

#求平均值
mysql> select avg(列名) from 表名;

#求最值
mysql> select max(列名) from 表名;
mysql> select min(列名) from 表名;

#求和
mysql> select sum(列名) from 表名;

#排序
mysql> select * from 表名 order by 列名;
mysql> select * from 表名 where 列名=order by 列名;

#指定排序格式
mysql> select * from 表名 order by 列名 asc;
mysql> select * from 表名 order by 列名 desc;

#指定多个排序标准
mysql> select * from 表名 order by 列名 asc,列名 desc;

#分组查询
mysql> select 列名,count(*) from 表名 group by 列名;

#筛选分组后排序
mysql> select 列名,count(*) from 表名 where 筛选条件 group by 列名 order 列名;

#对分组后的数据筛选
mysql> select 列名,count(*) from 表名 where 列名=group by 列名 having count(*)>1 order by 列名;
<think>好的,我现在需要帮助用户了解在Ubuntu中安装MySQL以及学习其基本命令。首先,我得回忆一下用户提供的系统级指令,确保回答符合格式要求。比如所有行内数学表达式要用$...$,独立公式用$$...$$,不过这个问题可能不需要数学公式,但还是要检查有没有可能需要的地方。然后要使用中文,生成相关问题,引用部分需要标注来源。 接下来,用户的问题是在Ubuntu中安装MySQL和学习基本命令。根据用户提供的引用,有两个来源:[^1]是关于在Ubuntu 20.04安装MySQL 8.0的教程,[^2]是离线安装的方法。我需要结合这两个引用,给出安装步骤和基本命令。 首先,安装部分可能需要分在线和离线两种情况。在线安装比较简单,使用apt命令,而离线安装可能涉及下载deb包和手动安装依赖。需要确保步骤正确,不会让用户混淆。例如,在线安装步骤包括更新软件包、安装mysql-server、安全配置等。离线安装则需要下载包、处理依赖,然后安装。这部分需要详细但清晰的说明。 基本操作命令包括登录MySQL、创建用户、数据库、表,插入数据,查询,权限管理等。要列出常用命令,并给出示例,比如使用mysql -u root -p登录,CREATE DATABASE,CREATE USER等。还要提醒用户安全注意事项,比如设置强密码,定期备份等。 然后,根据用户要求生成相关问题。可能需要包括不同安装方式的比较、配置安全、常见错误处理、迁移数据、版本差异等。这些问题应该围绕用户可能的后续疑问展开。 现在需要检查是否有遗漏的步骤,比如在安装过程中是否需要启用服务或者检查状态。另外,引用来源是否正确标注,每个引用是否在适当的位置。例如,在线安装引用[^1],离线安装引用[^2]。 可能需要注意的细节:在安全配置步骤中,运行mysql_secure_installation,这个命令会引导用户设置密码和其他安全选项。需要强调这一步的重要性。另外,在离线安装时,依赖包如果没安装可能会导致问题,需要用户手动处理,这可能比较复杂,要提醒用户注意依赖顺序。 在基本命令部分,可能需要给出具体的SQL示例,比如创建用户并授权,创建表的结构,插入数据等。这些命令需要准确无误,避免语法错误。 最后,确保整个回答结构清晰,分步骤说明,使用代码块标记命令,符合用户要求的格式。同时,生成的相关问题要自然,能够引导用户进一步学习。</think>### Ubuntu系统MySQL安装教程 #### 一、在线安装MySQL(推荐) 1. **更新软件包列表** ```bash sudo apt update ``` 2. **安装MySQL Server** ```bash sudo apt install mysql-server -y ``` 3. **安全配置** ```bash sudo mysql_secure_installation ``` - 设置root密码强度 - 移除匿名用户 - 禁止远程root登录 - 移除测试数据库[^1] 4. **检查服务状态** ```bash sudo systemctl status mysql ``` #### 二、离线安装MySQL(特殊场景) 1. 下载`.deb`包 2. 安装依赖 ```bash sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb ``` 3. 手动安装核心组件 ```bash sudo apt-get install mysql-client-core-8.0 sudo apt-get install mysql-server-core-8.0 ``` --- ### MySQL基本操作命令 #### 连接与身份验证 ```sql mysql -u root -p # 登录(需输入密码) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; # 修改认证方式 ``` #### 数据库管理 ```sql CREATE DATABASE shop; /* 创建数据库 */ DROP DATABASE test; /* 删除数据库 */ SHOW DATABASES; /* 查看所有数据库 */ ``` #### 用户权限控制 ```sql CREATE USER 'admin'@'localhost' IDENTIFIED BY 'SecurePass123!'; GRANT ALL PRIVILEGES ON shop.* TO 'admin'@'localhost'; FLUSH PRIVILEGES; /* 刷新权限 */ ``` #### 表操作示例 ```sql USE shop; CREATE TABLE products ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10,2) ); INSERT INTO products (name, price) VALUES ('Laptop', 899.99); SELECT * FROM products WHERE price > 500; ``` --- ### 安全注意事项 1. 定期执行备份: ```bash mysqldump -u root -p --all-databases > full_backup.sql ``` 2. 启用防火墙规则: ```bash sudo ufw allow mysql # 谨慎开放远程访问 ``` 3. 建议每月更新: ```bash sudo apt update && sudo apt upgrade mysql-server ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值