Linux中mysql的安装、远程访问、基础操作、文件导入

Linux中mysql的安装、远程访问、基础操作、文件导入

  • cheet card
  • 1. 安装
    • 1. 使用root账号安装mysql
  • 2. 启动mysql并创建root、管理员两个账号
  • 3. 基础操作
    • 3.1 数据库的查看、创建、修改、删除
    • 3.2 mysql的数据类型
    • 3.3 数据表的基本操作
    • 3.4 数据表结构的修改
    • 3.5 表中数据的增、删、改
    • 3.6 表中字段值的约束
  • 4. 远程访问设置
    • 4.1 阿里云、腾讯云开放安全组
    • 4.2 集群mysql防火墙打开
  • 5. windows访问
    • 5.1 登录
    • 5.2 创建临时数据库TEMP
    • 5.3 待导入文件前10行导入TEMP数据库
  • 6. 文件导入
    • 6.1 更改指定的导入文件存放目录
    • 6.2 更改mysql数据库datadir存放目录
    • 6.3 导入文件
  • 参考文件

cheet card

安装启动操作
1.安装mysql命令 :$ sudo apt-get install -y mysql-server
2.查看mysql的版本命令(注意-V是大写,不然会出现如下错误):$ mysql -V
3.启动mysql命令(关闭,重启等只需将start换成stop,restart等即可):$sudo service mysql start
4.登录mysql命令为:$ mysql -u用户名 -p密码
5.连接远程数据库:$ mysql -h <host> -P <port> -u<username> -p<password>

数据库操作
1.查看数据库:> show databases; (注意分号“;”不要落下)
2.新建一个数据库命令:> create database 数据库名称;
   删除一个数据库命令:> drop database 数据库名称;
3.使用某个数据库:> use 数据库名称;

表操作
1.查看表命令:> show tables;
2.建立一个新表:> create table 表名 (字段参数); 或 >create table if not exists 表名(字段参数);
   删除一个旧表:> drop table 表名; 或 >drop table if exists 表名;
3.查看表结构:> desc 表名称; 或 >show columns from 表名称;
4.对表数据的操作:
   增:>insert into 表名称 (字段名1,字段名2,字段名3......) values(字段名1的值,字段名2的值,字段名3的值......);
   删:>delete from 表名称 where 表达式;
   改:>update 表名称 set 字段名=“新值” where 表达式;
   查:>select 字段名1,字段名2,字段名3..... from 表名称;
5.增加字段:>alter table 表名称 add 字段名 数据类型 其它; (其它包括默认初始值的设定等等)
6.删除字段:>alter table 表名称 drop 字段名;

用户相关操作
注:以下命令均需先以root身份登录mysql:mysql -uroot -p
1.添加新用户
(1)创建新用户:> insert into mysql.user(Host,User,Password) values("localhost","user1",password("password1"));
(2)为用户分配权限:
            设置用户可以在本地访问mysql:grant all privileges on *.* to username@localhost identified by "password" ;
            设置用户只能访问指定数据库:grant all privileges on 数据库名.* to username@localhost identified by "password" ;
(3)刷新系统权限表:>flush privileges;
2.查看MySql当前所有的用户:>SELECT DISTINCT User FROM mysql.user;
3.删除用户及其数据字典中包含的数据:>drop user 'xbb'@'localhost';

1. 安装

1. 使用root账号安装mysql

# 下载
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
# 检查mariaDB是否被覆盖
rpm -qa |grep mariadb
rpm -e --nodeps mariadb-libs

# 解压文件及安装
tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm # libaio缺少,需要安装
		rpm -qa | grep libaio
		yum -y install libaio

2. 启动mysql并创建root、管理员两个账号

## 初始化
mysqld --initialize --console

## 启动mysql
systemctl start mysqld

# 查看root临时密码
cat /var/log/mysqld.log |grep localhost

  在linux界面使用mysql -u root -p,输入root临时密码后进入mysql语句。

# 修改密码
alter user 'root'@'localhost' identified by 'Root_root1'

# 开放 root 账户远程登录
## 1.进入数据库
	use mysql

## 2.修改user表,root账户可在任意IP登录
	update user set host='%' where user='root';  
	update user set host='localhost' where user='root'; # 恢复仅本地连接	

## 3.创建新用户guanliyuan,可在任意IP登录
	create user 'guanliyuan'@'%' identified with mysql_native_password by '!guanliyuaN4';
	
## 4.给用户guanliyuan可访问所有数据库,并拥有与root一样的增删改查权力
	grant all privileges on *.* to 'guanliyuan'@'%' with grant option;

## 5.创建账户张三,仅对所有数据库有select权力,在任意IP可登录
	CREATE USER zhangsan IDENTIFIED BY '!zhangsaN2024';
	SHOW GRANTS FOR zhangsan;
	GRANT SELECT on *.* TO 'zhangsan'@'%' WITH GRANT OPTION;
	FLUSH PRIVILEGES;
	
    # 以下为完整示例
    创建一个使用密码作为认证方式的账号
    CREATE USER 'kalacloud-remote'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
    根据自己的需要,给你用于远程访问的账号赋予权限
    GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'kalacloud-remote'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

3. 基础操作

3.1 数据库的查看、创建、修改、删除

# 创建数据库
create database demo;

# 查看mysql的数据库
show databases;

# 查看数据库demo信息
show create database demo;

# 创建数据库时为其指定字符集,语法如下:
	# mysql常用编码方式有 utf8 utf16 gbk unicode iso latin ascii
create database 数据库名 character set 编码方式;

# 选择使用的数据库
use 数据库名;

# 查看当前正在使用的数据库;
select database();

alter database demo character set gbk
drop database hello

3.2 mysql的数据类型

  二进制、时期时间、字符串、整数类型、小数类型;
  详细可看参考文件MySQL的字段类型,该怎么选?

3.3 数据表的基本操作

# 创建表格
create table 表名(
		字段名 数据类型 [(长度)] [约束条件], 
		字段名 数据类型 [(长度)] [约束条件], 
		字段名 数据类型 [(长度)] [约束条件], 
		.....
);

create table student(
	-> id  int unsigned,
	-> name varchar(10),
	-> age tinyint unsigned,
	-> sex enum('男', '女'),
	-> birthday date,
	-> hobby set('唱歌', '表演', '编程')
	);

# 展示表格式化后结果,更好看
show create table student\G
# 查看表格字段信息
desc/describe student
# 删除表格;
drop table OmicsCNGene_melt;

# 修改数据表名
alter table 旧表名 rename to 新表名

# 修改字段名,注意:新字段的数据类型不能省略!
alter table 表名 change 旧字段名 新字段名 新字段的数据类型;

# 修改字段类型
alter table 表名 modify 字段名 新的数据类型

# 添加字段
alter table 表名 add 新字段名 新字段数据类型 [first|after 已经存在的字段名]

# 修改字段位置
alter table 表名 modify 字段名1 数据类型 [first|after 字段名2]

# 删除字段
alter table 表名 drop 字段名

3.4 数据表结构的修改

  极少用,表一旦建立,最好不要再改变,否则现有程序会被严重影响,尤其是表中已有数据的时候
  一定要在设立之初把表格一次性设置好。
  比如,修改字段名、修改字段类型、添加字段、修改字段位置,具体可见3.3、3.5内容

3.5 表中数据的增、删、改

# 插入数据
insert into 表名 (字段名 字段名, 字段名) values (值, 值, 值, 值, 值)
insert into student values (1, 'zhangsan', 18, '男', '1990-10-08', '唱歌,编程')

insert into 表名 set 字段名=值(字段名=值, ...)
insert into student set id=3, name='lisi', age=19, sex='男'

# 修改记录
update 表名 set 字段名=值[字段名=值, ...] [where 条件表达式]
update student set age=23,sex='女' where name = 'zhangsan'

# 删除记录
delete from 表名 [where 条件表达式]
dalete from student where name = 'zhangsan'

3.6 表中字段值的约束

primary key 主键约束
not null 非空约束
unique  唯一约束
check(条件语句) 检查约束
foreign key(字段名) references 表名(字段名)
default <默认值>  默认值约束

4. 远程访问设置

4.1 阿里云、腾讯云开放安全组

在这里插入图片描述

4.2 集群mysql防火墙打开

# 查看防火墙
systemctl status firewalld
# 查看3306端口状态
firewall-cmd --zone=public --query-port=3306/tcp
# 如果是no,表示关闭,打开3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 防火墙重载
firewall-cmd --reload
# 再次查看3306状态(yes)
firewall-cmd --zone=public --query-port=3306/tcp

5. windows访问

5.1 登录

  如何登录网上有很多教程,如果遇到报错,可针对性搜索。
  某一类报错,可参考DBeaver连接时报错:Public Key Retrieval is not allowed Public Key Retrieval is not allowed

5.2 创建临时数据库TEMP

  利用3.3介绍是知识,创建一个数据库TEMP,刷新后能在windows下看到。

5.3 待导入文件前10行导入TEMP数据库

(1)正常导入,从DDL部分获得正确的表格创建语句;
(2)报错,修改”列“中报错字段的数据类型,右下角保存改变。重新导入测试数据,从DDL部分获得正确的表格创建语句;

6. 文件导入

6.1 更改指定的导入文件存放目录

show variables like 'secure_file_priv';
 
secure-file-priv的值有3种情况:
secure_file_priv=null      -- 默认值为null,限制mysql,禁止导入导出文件
secure_file_priv=""        -- 表示不限制路径,允许mysql 导入导出文件
secure_file_priv="D:/path" -- 指定路径,表示只允许在该路径目录下导入导出文件(这里的路径值可以自己设置)

  使用root账号在/etc/my.conf文件中修改后,重启数据库生效

6.2 更改mysql数据库datadir存放目录

  使用show variables like '%datadir%';,查看目前的存放路径。
  使用root账号在/etc/my.conf文件中修改后,把原路径下的Data文件夹整个复制到目标路径下。重启数据库生效。

6.3 导入文件

(1) sql语句切入到目标database下;
(2) 使用5.3中得到的create语句创建table target;
(3) 使用load data infile导入文件
load data infile '/user_mount/abs_path/Media.csv' into table Media character set utf8 fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\n' IGNORE 1 LINES;

参考文件

(1) CentOS / Linux 安装MySQL(超简单详细)
(2) MySQL数据库SQL语言入门,精讲精练
(3) MySQL基础知识 - 账号和权限管理
(4) MySQL的字段类型,该怎么选?
(5) 最全服务器安装MySQL和远程连接教程(含常见问题解决)
(6) DBeaver连接时报错:Public Key Retrieval is not allowed Public Key Retrieval is not allowed
(7) ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot exec
(8) MySQL数据存储路径如何修改
(9) Linux下mysql导入csv文件
(10) 菜鸟mysql四分钟导入千万级别的数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/457209.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kotlin编程权威指南学习知识点预览

一、变量、常量和类型&#xff1a; 变量、常量以及 Kotlin 基本数据类型。变量和常量在 应用程序中可用来储值和传递数据。类型则用来描述常量或变量中保存的是什么样的数据。 1、声明变量: // 变量定义关键字 —— 变量名 —— 类型定义 —— 赋值运算符 —— 赋值var na…

用户案例|向量引擎在携程酒店搜索中的应用场景和探索

Zilliz AI 初创计划是面向 AI 初创企业推出的一项扶持计划&#xff0c;预计提供总计 1000 万元的 Zilliz Cloud 抵扣金&#xff0c;致力于帮助 AI 开发者构建高效的非结构化数据管理系统&#xff0c;助力打造高质量 AI 服务与运用&#xff0c;加速产业落地。访问https://zilliz…

log4j2 burp插件-Log4j2Scan(二)

该工具为被动扫描Log4j2漏洞CVE-2021-44228的BurpSuite插件&#xff0c;具有多DNSLog&#xff08;后端&#xff09;平台支持&#xff0c;支持异步并发检测、内网检测、延迟检测等功能。 一、安装方法 建议使用BurpSuite 2020或以上更高版本&#xff0c;低版本BurpSuite未经严…

4种小众的能力,帮你更好地适应未来

新年伊始&#xff0c;又是一个全新的开始。 未来的社会究竟需要什么样的能力&#xff1f;这已经是一个很老的话题&#xff0c;已经有许许多多讨论了。但这其中&#xff0c;可能有一些是容易被人忽略的&#xff0c;或者不容易被注意到的。 我想跟你一起分享&#xff0c;我对这个…

IAB视频广告标准《数字视频和有线电视广告格式指南》之 概述- IAB受众和技术标准 - 我为什么要翻译介绍美国人工智能科技公司IAB系列(2)

第二篇 - 概述- IAB受众和技术标准 本文目录 一、IAB技术实验室简介 二、概述及IAB受众 三、资源- IAB倡导的相关视频广告技术标准 四、案例分享-介绍一家数字化营销服务公司 - SproutSocial 五、数字营销工兵观察 六、资料来源及推荐阅读 一、IAB技术实验室简介 随着近…

河南大学数据结构实验-顺序栈和链栈的实现

计算机与信息工程学院实验报告 姓名&#xff1a;杨馥瑞 学号&#xff1a;2212080042 专业&#xff1a;数据科学与大数据技术 年级&#xff1a;2022 课程&#xff1a;数据结构 主讲教师&#xff1a;袁彩虹老师 辅导教师&#xff1a;_______ 实验时间&…

第五十八回 吴用赚金铃吊挂 宋江闹西岳华山-飞桨图像分割套件PaddleSeg初探

鲁智深被贺太守抓住&#xff0c;押入死牢。武松得信后&#xff0c;正想回梁山报信&#xff0c;正好戴宗来了&#xff0c;就请戴宗赶快回梁山搬救兵。宋江说兄弟有难&#xff0c;怎能不救&#xff1f; 于是带了十六个头领来到少华山。 因为华州城池厚壮&#xff0c;宋江等无计可…

Jmeter+ant,ant安装与配置

1.ant含义 ant&#xff1a;Ant翻译过来是蚂蚁的意思&#xff0c;在我们做接口测试的时候&#xff0c;是可以用来做JMeter接口测试生成测试报告的工具 2.ant下载 下载地址&#xff1a;Apache Ant - Ant Manual Distributions download中选择ant 下载安装最新版zip文件 3.…

【C++面向对象】C++飞机购票订票系统(源码+说明)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

HTML视频笔记

学习arm开发板&#xff0c;涉及到网页HTML PHP什么的&#xff0c;简单看个视频学习下 HTML&#xff5c;超简单HTML入门教程 https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element ​​​​​​vscode需要的libc6等需要的版本高​​​​​​ 为了安装vscode&#xff0c;将…

电商场景下 ES 搜索引擎的稳定性治理实践

继上文在完成了第一阶段 ES 搜索引擎的搭建后&#xff0c;已经能够实现对千万级别的商品索引的读写请求的支持。目前&#xff0c;单机房读流量在 500&#xff5e;1000 QPS 之间&#xff0c;写流量在 500 QPS 左右。 但随着业务的发展&#xff0c;问题也逐渐开始暴露&#xff0…

Qt篇——QChartView获取鼠标停留位置的数值

需求&#xff1a;鼠标停留在QChartView上时&#xff0c;想要计算停留位置的数值。 一开始的方法是想要通过鼠标移动事件计算鼠标在QChartView上的坐标&#xff0c;在换算成数值&#xff0c;后来发现QChartView中除了图表数据&#xff0c;还有坐标轴与坐标轴数值标签占了高度&a…

采购代购系统独立站,接口采集商品上货

采购代购系统独立站的建设与商品上货接口的采集是一个综合性的项目&#xff0c;涉及前端开发、后端开发、数据库设计以及API接口的对接等多个环节。以下是一个大致的步骤和考虑因素&#xff1a; 一、系统规划与需求分析 明确业务需求&#xff1a;确定代购系统的核心功能&…

智能物流新纪元:分布式I/O模块重塑仓储自动化

随着工业4.0概念的深入人心&#xff0c;物流行业正在经历前所未有的变革。在这个过程中&#xff0c;物流企业必须积极走向工业自动化、智能化&#xff0c;进而提高物流效率&#xff0c;降低物流成本&#xff0c;以便更好地满足客户和市场的需求。智能物流、仓库自动化已然是趋势…

SSM整合项目(Vue3环境搭建)

SSM整合项目&#xff08;Vue3环境搭建&#xff09; 1.下载node.js 1.卸载原来的node.js 2.检测是否卸载成功 3.下载node.js&#xff08;10.16.3&#xff09; 一路next就可以 4.检测是否安装成功 2.全局安装Vue插件cli 命令行输入 npm install -g vue/cli 3.新建Vue项目 1.…

惬意上手MongDB

上一篇文章介绍了MySQL&#xff0c;今天来介绍一下MongoDB,相较于MySQL而言&#xff0c;它是简单的。 简介 MongoDB是一种开源的、跨平台的文档数据库&#xff0c;采用NoSQL数据库的形式。它以高性能、高可用性和灵活的数据模型而闻名&#xff0c;适用于大规模数据存储和处理…

html--钢琴

代码 <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>html钢琴</title> <script src"js/js.js"></script> <link href"…

QT开发(二) 构建QMainWindow

1、前言 QMainWindow是Qt框架中用于创建应用程序主窗口的类。它是许多GUI应用程序的基础&#xff0c;提供了丰富的功能和灵活性&#xff0c;以支持用户界面的创建和管理。 QMainWindow的结构主要包括以下几个部分&#xff1a; 菜单栏&#xff08;Menu Bar&#xff09;&#…

【单调栈】代码随想录算法训练营第六十天 |84.柱状图中最大的矩形(待补充)

84.柱状图中最大的矩形 1、题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2、文章讲解&#xff1a;代码随想录 3、题目&#xff1a; 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱…

RC4算法:流密码算法的经典之作

title: RC4算法&#xff1a;流密码算法的经典之作 date: 2024/3/11 18:16:16 updated: 2024/3/11 18:16:16 tags: RC4起源演变算法优劣分析RC4 vs AES安全性RC4 vs DES性能比较应用场景介绍工作原理详解代码实例演示 一、RC4算法的起源与演变 RC4算法是由著名密码学家Ron Riv…