MySQL常用操作

2023-09-20 22:53:11

1. 安装MySQL/MariaDB

# 1) 确认是否已安装mysql
rpm -qa | grep mysql

# 2) (如无)执行以下命令进行安装
## 方法一
yum install mysql -y
## 方法二(适用场景:CentOS 7版本中MySQL已从默认的程序列表中移除) 
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server

# 3) 初始化&启动
#chown -R mysql:mysql /var/lib/mysql/    #权限设置
#?mysqld --initialize                     #初始化MySQL;Fatal error: ... find out how to run mysqld as root
systemctl start mysqld                  #启动MySQL
systemctl status mysqld                 #查看MySQL运行状态

# 4) 验证
mysqladmin --version    #如果没有输出任何信息,说明安装未成功

#5) 用户设置,详见本文第2部分
mysql   #默认情况下登录密码为空
>mysqladmin -u root password "new_password"  -- root默认密码为空,设置root密码;

或者可以安装mysql的平替MariaDB,后者是mysql的一个开源分支,开发这个分支的原因之一是:甲骨文公司收购了mysql后,有将mysql闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

yum install mariadb-server mariadb 

systemctl start mariadb  #启动MariaDB
#systemctl stop mariadb  #停止MariaDB
#systemctl restart mariadb  #重启MariaDB
#systemctl enable mariadb  #设置开机启动

MariaDB的目的是完全兼容MySQL,包括API命令行。即本文mysql命令可以直接在MariaDB使用(持续测试中…)。

2. 用户管理

MySQL的用户信息存储在mysql.user表。

2.1 用户信息

root用户操作

# 连接mysql数据库查看用户;
use mysql;
select user,host from user;

# 创建用户;
create user 'user01'@'host' identified by 'password';
flush privileges;

# 修改用户密码;
set password for 'user01'@'host'=password('new_password')  -- 方法一;
alter user 'user_name'@'host' IDENTIFIED BY 'new_password'  -- 方法二;
flush privileges;

# 删除用户;
drop user 'user_01'@'host';

普通用户操作

# 新开窗口测试是否创建成功
mysql -u user01 -p

# 修改密码
set password=password('new_password');

2.2 用户权限privileges

privileges是用户能执行的数据库操作,包括CREATE, DROP, GRANT, DELETE, SELECT, UPDATE, INSERT, UPDATE, DELETE等。

# 查看用户权限;
show grants for 'user01'@'host';

# 授权
grant select on db01.tb01 to 'user01'@'host'  -- 将db01库tb01表select权限授权给user01;
flush privileges;
grant all privileges on *.* to 'user01'@'host'  -- 全部库表的所有权限;
flush privileges;
grant select(col1) on db01.`tb01` to 'user01'@'host' -- 字段颗粒度;
flush privileges;

#回收授权
revoke select on db01.tb01 from 'user01'@'host';

3. 增删改查

3.1 增删数据库/表

show databases;
create database db01  -- 创建数据库;
drop database db01  -- 删除数据库;

use db01  -- 连接数据库;
show tables;
# 创建数据表模板
create table tb01(col1 char(10) primary key, col2 smallint)  -- create方法;
source /path/to/tb01.sql  -- 导入sql文件方法;
# 插入数据
insert into table01 values (value1,value2);
insert into table01 (col1,col2) values (value1,value2);
# 删除表
drop table table01;

3.2 查询

select * from tb01;

参考

MySQL安装
mysql数据库基础命令
mysql 设置用户

更多推荐

iOS应用上线需要注意的问题

将iOS应用上线到AppStore需要仔细注意一系列问题,以确保应用的质量、安全性和用户体验。以下是一些在iOS应用上线过程中需要注意的关键问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。1.开发者账号:确保你拥有有效的苹果开发者账号,可以在苹果开发者中心进行注册和管理。2.应

HTML5数据推送SSE原理及应用开发

JavaScript表达行为,CSS表达外观,注意HTML既表达结构(逻辑结构),又表达内容(数据本身)通常需要更新数据时,并不需要更新结构,正是这种不改变组织结构仅改变数据的诉求,推动了数据拉取和数据推送技术的产生。SSE是一种允许服务器端向客户端推送新数据(简称数据推送)的HTML5技术。数据推送有两种替代方案:无

全国“十城千企”中小企业数字化服务行(厦门站),攸信技术为中小企业来访团“把脉问诊”!

近日,由厦门市工业和信息化局、市国资委联合主办的2023年全国“百场万企”大中小企业融通对接活动暨全国“十城千企”中小企业数字化服务行(厦门站)在厦顺利召开。众多行业知名企业会聚,聚焦中小企业智能化改造和数字化转型升级。本次活动,主办方组织与会中小企业,组团走进数字化标杆单位观摩交流“取真经”,攸信技术作为数字化转型标

第十四届蓝桥杯省赛 C/C++ A 组 H 题——异或和之和(AC)

目录1.异或和之和1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.AC_Code1.异或和之和1.题目描述给定一个数组AiA_iAi​,分别求其每个子段的异或和,并求出它们的和。或者说,对于每组满足1≤L≤R≤n1\leqL\leqR\leqn1≤L≤R≤n的L,RL

数据库管理-第106期 以前版本Oracle数据库中的AI与向量应用(20230912)

数据库管理-第106期以前版本Oracle数据库中的AI与向量应用(20230912)2023年OracleCloudWorld(下简称OCW)大会(以前叫OOW)美国当地时间9月18日-9月21日在美国召开。作为世界领先的数据库,数据库行业从业者都应该关注和学习。在本次OCW中,除了与微软Azure更加深入的合作(即

【C++】动态内存管理 ① ( C 语言中的动态内存管理 | C 语言 内存申请 | C 语言 内存释放 | 代码示例 )

文章目录一、动态内存管理二、C语言中的动态内存管理1、C语言内存申请2、C语言内存释放3、代码示例-C语言动态内存管理一、动态内存管理动态内存管理由内存的申请内存的释放构成,这里的内存指的是堆内存,与之相对的是栈内存;在程序运行时过程中,经常根据需要进行动态内存管理,从而更加灵活地管理内存资源,包括:分配堆内存中的内存

优漫动游设计心得

4、团队激励优漫动游大型互联网公司一般都有一套严格的加薪制度,所以别总指望通过加薪来提升士气。那么日常团队鼓励就非常重要了。09年麦肯锡就最激励员工的因素进行的一项调查显示,排在前两位的分别是“直接领导的公开赞扬”和“领导的注意”。此外,在赞扬方面,公开赞扬也比私下赞扬对员工的正面影响要放大许多倍。因为这时你创造的不仅

C语言系统化精讲(一):C 语言开发环境搭建

文章目录一、Windows开发环境搭建1.1安装mingw编译器1.2下载并安装CLion1.3启动CLion二、Linux开发环境搭建(建议使用)2.1VMwareWorkstationPro软件简介及安装2.2安装Ubuntu系统2.2.1Ubuntu下载2.2.2安装Ubuntu2.2.3安装共享文件夹2.3概念

使用NRM管理Node镜像源,提升包下载速度

前言在日常开发中,我们经常会使用到Node.js来构建和运行JavaScript应用程序。然而,在使用Node.js时,由于网络环境的限制,我们可能会遇到包下载速度缓慢的问题。为了解决这个问题,本文将介绍如何使用NRM(NodeRegistryManager)来管理Node镜像源,从而提升包下载速度。什么是NRM?NR

JavaScript前端跨页面通信:实现页面间的数据传递与交互

🎬岸边的风:个人主页🔥个人专栏:《VUE》《javaScript》⛺️生活的理想,就是为了理想的生活!目录引言1.前端跨页面通信的概述2.前端跨页面通信的属性2.1双向通信2.2异步通信2.3安全性2.4可靠性3.前端跨页面通信的应用场景3.1多标签页间的数据共享3.2页面间的消息通知和事件触发3.3页面间的数据传

如何在Python爬虫程序中使用HTTP代理?

在进行网络爬虫时,我们经常需要使用代理服务器来隐藏自己的真实IP地址,以避免被目标网站封禁或限制访问。本文将介绍如何将HTTP代理配置到Python爬虫程序中使用。什么是HTTP代理?HTTP代理是一种网络代理,它充当客户端和服务器之间的中介,接收客户端请求并将其转发给服务器。代理服务器可以隐藏客户端的真实IP地址,使

热文推荐