Linux(六)MySQL和navicat的安装和使用

本文详细讲解了MySQL的基础安装步骤,包括安装目的、Linux环境下yumRepository的管理,以及如何获取临时密码、修改权限和卸载。随后介绍了MySQL的数据库操作,如创建、切换、显示表数据和删除,最后展示了Navicat这款工具在MySQL管理中的便捷应用。
摘要由CSDN通过智能技术生成

目录

一、MySQL概述

二、MySQL的安装

1、安装MySQL的目的:

2、安装步骤

对MySQL服务的一些基本操作:

3、MySQL的使用

4、获取临时密码:

5、登录mysql:

6、关闭密码复杂验证:

7、修改权限:

8、卸载yum Repository

9、mysql的卸载

三、MySQL的操作

1、数据库的创建:

2、数据库的切换:

 3、显示数据库中所有的表的数据

4、数据库的删除:

四、Navicat

1、Navicat连接mysql

解决报错输出

查看数据库创建语句:

2、数据库中表的创建

3、设置数据的各种属性

一、MySQL概述

所谓MySQL,其实就是一种关系化数据库。所谓关系化就是存放的数据可以一对一,一对多和多对多。

另外还有一种数据库叫做非关系型数据库,也称作NoSQL或者KeyValue数据库,其存储方式和关系化数据库有很大的区别。

非关系型数据有很多,比如redis,Hbase等

二、MySQL的安装

1、安装MySQL的目的:

MySQL对于数据的存储有明确的规定和详细的划分,方便与管理。

安装MySQL其实就是安装了一个数据库管理程序,该程序可以对数据库进行管理和操作,一般为了存储数据,会在数据库中创建多个表用来存储数据

MySQL中数据存储的最小单位就是行

这里给出Windows版的下载地址: 

官网下载:MySQL :: MySQL Downloads

第三方下载地址:https://downloads.mariadb.com/archive/index/p/mysql/v 

2、安装步骤

这里的安装是在Linux下进行的安装

在安装之前需要保证Linux系统中的防火墙和networkmanage是关闭状态

1、下载yum Repository

wget -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

这里可能会出现问题:wget命令找不到,这是由于没有下载wget命令的原因

输入:yum -y install wget进行wget命令的下载然后在操作上述步骤,然后等待安装完毕

2、安装yum Repository

复制粘贴以下命令:

yum -y install mysql57-community-release-el7-10.noarch.rpm

然后等待其安装完毕,安装完成后会出现完毕字样

3、安装MySQL服务器

输入命令:

yum -y --nogpgcheck install mysql-community-server

然后等待其下载完成,完成后会出现完毕字样

执行完该步骤之后,表示MySQL在Linux系统中已经完成安装了

对MySQL服务的一些基本操作:

 设置为开机自启动:

输入命令:systemctl enable mysqld.service进行设置开机自启

启动MySQL:

输入命令:systemctl start mysqld.service进行启动

查看MySQL状态:

输入命令:systemctl status mysqld.service查看状态

3、MySQL的使用

MySQL的初次使用需要使用用户名和密码登录,用户名默认就是root,但初次登录并不知道密码

解决办法:获取一个临时密码,用于登录MySQL,在登录之后再将MySQL的密码自行设置为123456即可

4、获取临时密码:

输入命令:grep "password" /var/log/mysqld.log,每次获取的临时密码都不一样

5、登录mysql:

使用刚刚获取的密码,输入:mysql -uroot -p+临时密码进行登录

注意:这里最好在临时密码左右加上双引号,防止程序识别为密码未输入完毕,等待用户继续输入密码,双引号就表示其中的内容就是完整的密码

6、关闭密码复杂验证:

 登录成功后,就已经进入了mysql界面,这时将密码复杂验证关闭防止密码过于简单而不通过。然后再执行设置密码

注意:在mysql中执行命令时,在每个命令后都需要加上分号结尾

先输入: set global validate_password_policy=0;按下回车

再输入:set global validate_password_length=1;按下回车

这时就关闭了密码验证

输入:alter user user() identified by "123456";更改密码为123456

7、修改权限:

进入到mysql中:use mysql;

 修改权限:

输入GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 修改权限

修改完之后刷新权限:

输入:flush privileges;

查看刷新完的权限:

输入:select host,user,authentication_string from user; 

 若是在修改权限前查看一次,再在执行完之后查看一次会发现多了一行%的数据,该数据表示所有的ip地址都可以访问的权限,为了方便远程操作。

8、卸载yum Repository

回到Linux中,在mysql中按下ctrl+Z/C都可以退出mysql

由于安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

在Linux中输入:yum -y remove mysql57-community-release-el7-10.noarch进行删除

9、mysql的卸载

当mysql的安装出现问题时,可以卸载mysql或者在虚拟机当中返回到上一次快照,重新安装mysql

删除依赖包
rpm -qa |grep -i mysql
yum remove mysql-community mysql-community-server mysql-community-libs mysql-community-common

上述只是删除了依赖包,还需要清理文件
输入find / -name mysql找到mysql的所有文件
对这些文件依次进行输入rm -rf 文件名进行逐个删除,这样mysql就删除完毕了

三、MySQL的操作

安装完mysql后,需要对mysql进行一些操作

SQL语言:结构化查询语言,具有查询,操纵,定义和控制关系型数据库的功能,简单说就是增删改查

在登录到mysql后,查看当前mysql含有多少个数据库:

命令:show dabases;

当需要存储数据时,需要新建一个数据库

1、数据库的创建:

 命令:create database test;

 创建成功后,再次查看时就会发现多了一个test数据库

2、数据库的切换:

use 数据库名称

 3、显示数据库中所有的表的数据

命令:show tables;

显示test中所有的表:

这里会显示没有表,因为没有创建

4、数据库的删除:

命令:drop database 数据库名称;

若在删除之后又删除了一遍,会报错该数据库已经被删除,若不想其报错,可以在删除时加入一个条件:如果存在则删除,不存在则不操作

命令:drop database if exists 数据库名称;

 同理:在创建一个数据库时也可以加入一个条件:if not exists 

当输入过程中在未输入完时不小心按下了回车,但是没有分号,识别为继续进行换行输入,或者当不小心打出一个中文分号,然后进行了回车,但此时已经输入错误,只能输入英文分号进行结束,输出报错后,重新输入

于是提供了一个第三方软件用来操作mysql,用于避免该情况以及进行其他更为方便的操作

四、Navicat

Navicat就是一个第三方操作mysql的软件

Navicat的安装就是傻瓜式安装,直接一步步点击下一步即可。

1、Navicat连接mysql

打开Navicat,点击左上角连接,选择mysql连接,输入连接名(随意输入,自定义),主机名或者IP地址,以及要连接的mysql的密码

  正式连接前可以进行一次连接测试,测试成功即可成功连接,点击确定即可连接

刚开始连接之后,该连接为灰色,双击即可打开连接,里面会出现目前所有的数据库

在navicat中操作数据库时,可以点击新建查询进行操作

输入show databases;可以查看到当前的所有数据库信息选中,点击运行已选择的即可运行该行命令,该功能可以运行所选择的命令。

 结果:同样显示所有的数据库

 同样,在该软件中也可以实现上述的其他操作

插入:Navicat中不区分大小写

解决报错输出

这里简单创建一个数据库:

每次执行结果中都显示了报错,但是这并不是创建出错,而是mysql自带的错误 

 

 解决办法:

输入:

set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

运行该行语句之后,先关闭连接,再重新打开连接,重新新建查询就可以了。

查看数据库创建语句:

命令:show 创建语句

 

 结果中所显示的是数据库的名称和创建该数据库的语句:

CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */

该行显示该数据库的编码格式是latin1,与常用的utf-8格式不一样,这是由于在Linux系统中的数据库默认的编码格式就是latin1,想要更改latin1为常用的utf-8,有两种:

1、右键该数据库,进入到数据库属性中进行修改,但需要每次创建一个数据库后,都需要更改。

2、在创建数据库时,在后面加上默认编码集:但是每次创建都需要加上 

     例:create database test default character set utf8

3、进入到Linux中的配置文件中,去更改其默认编码格式为utf-8,这样就不需要每次创建都要更改

更改默认编码格式:

在Linux中操作:

输入:vim /etc/my.cnf

在其中寻找[client],若没有则添加[client]并添加内容:

[client]

default-character-set = utf8mb4

接下来同理寻找[mysqld],向其中添加内容:

character-set-server = utf8mb4

collation-server = utf8mb4_general_ci

保存退出,重新启动mysql,并再次登录mysql查看当前编码集是否正确

查看编码集:

输入命令:show variables like "%char%";

 这样就实现了更改编码集为utf-8了

注意:这次修改完之后,不要再修改mysql服务器的编码集,表的编码集默认和库一致

回到Navicat中再次进行创建,先删除再创建

这里在创建时会发现最后一行又有了上述刚提到的报错信息,这是由于mysql被重新启动,其中的配置全部回归默认。再执行一次相应代码即可

 

2、数据库中表的创建

命令格式:

create table 表名(

        字段名 字段类型,

        字段名 字段类型,

        ... ...

        字段名 字段类型

);

 

  刷新数据库,会发现数据库test中多了一个表students。双击打开

 右击打开设计表查看其具体表信息,发现其中的int类型长度在没有给时也是11

注意:字段在定义属性时,必须给长度 ,int较为特殊,不需要给,默认长度为11。

查看其编码集切换到选项查看。为utf-8;查看其引擎也在其中,也就是启动方式,常用为InnoDB

可以在创建表的括号后,分号前加上你想要使用的引擎:engine=InnoDB de

表数据的输入

在表中输入相应信息,点击勾号可以保存,点击+可以添加数据

3、设置数据的各种属性

在进行输入数据时,发现当age不输入时,保存后,数据为null,同理,其他两个不输入时也为null。但是对于现实来说,一个人不可能没有名字和编号以及年龄。所以需要设置为不可为null

第一种:进入到设计表中,最后一列可以设置是否允许为null值,勾选即不可为null值。

第二种:使用sql语句:在字段创建时在其后面加上not null属性即可。

同时注意到:每个学生的id应该是唯一的,而且可以设置为自增,这样只需要输入第一个学生的学号,后面的学生依次增加即可,不需要再重复输入

这里使用sql语句主键属性实现唯一:PRIMARY KEY,可以设置多个主键,但需要用逗号分隔

使用AUTO_INCREMENT定义列为自增属性。这两种属性一般配合使用

当加入性别时,定义属性若是为varchar,则在未来输入数据时,若是将性别输入为姓名则也不会报错,但是性别应该是只有男和女,所以这里不能设置其类型为varchar,应该设置为枚举类型,即:

sex enum('男','女')

这里根据上述条件开始创建一个表:

  进入到该表中会发现:sex列有两个选项

  此时若添加数据,name不可为空,且id唯一,若不输入会报错不可为空。

 且此时若添加数据,id值的自增是根据上一个数据来进行自增的。

若在性别列手动输入除男女之外的字,也会报错:

 

 为字段添加一个默认值:default 

即当添加一行数据时,还未进行输入就会生成一个默认值

为了使数据库中存储的数据量可以变得更多,一般采用0和1用来代替性别。

改进该表,重新创建该表。

 结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值