首页 > 数据库 >34、mysql数据库(介绍)

34、mysql数据库(介绍)

时间:2022-10-10 12:32:12浏览次数:82  
标签:数据库 用户 34 controller mysqld mysql root


34.1、什么是数据库:

数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、

描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。


34.2、数据库管理系统软件:

1、数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。

2、它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms

进行数据库的维护工作。

3、它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。

4、大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户

定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。

5、数据库管理系统是数据库系统的核心,是管理数据库的软件。数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算

机中具体的物理数据处理的软件。有了数据库管理系统,用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位

置。

6、常见的数据库管理软件:甲骨文的oracle,IBM的db2,sql server,Access,Mysql(开源,免费,跨平台)。


34.3、数据库系统:

数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用

程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、

监控和维护整个数据库,使数据能被任何有权使用的人有效使用。

34、mysql数据库(介绍)_mysql


34.4、安装数据库:

1、linux:

yum -y install mariadb mariadb-server

OR

yum -y install mysql mysql-server


2、win:

​http://dev.mysql.com/downloads/mysql/ ​


3、启动:

service mysqld start

#开启

chkconfig mysqld on

#设置开机自启

OR

systemctl start mariadb

systemctl enable mariadb


4、查看:

ps aux | grep mysqld

#查看进程

netstat -an | grep 3306

#查看端口


5、设置密码:

mysqladmin -uroot password '123'

#设置初始密码,初始密码为空因此-p选项没有用

mysqladmin -uroot -p123 password '1234'

#修改root用户密码


6、登录:

mysql

#本地登录,默认用户root,空密码,用户为[email protected]

mysql -uroot -p1234

#本地登录,指定用户名和密码,用户为[email protected]

mysql -uroot -p1234 -h 192.168.31.95

#远程登录,用户为[email protected]


34.5、mysql常用命令:

1、登陆与退出命令:

(1)登录:

mysql -h 服务器IP -P端口号 -u用户名 -p密码 --prompt 命令提示符 --delimiter 指定分隔符

mysql -h 127.0.0.1 -P 3306 -uroot -p123


(2)退出:

quit------exit----\q;


2、my.ini文件:

[mysql]

default-character-set=gbk

#客户端编码

[mysqld]

character-set-server=gbk

#数据库编码

SHOW GLOBAL VARIABLES LIKE 'character%';

#查看数据库客户端和服务端的字符编码。


3、prompt 命令提示符:

\D:当前日期,\d:当前数据库,\u:当前用户

\T(开始日志),\t(结束日志)


4、其它:

(1)show warnings;

#显示错误信息

(2)help、?、\h

#帮助

(3)\G;

#单个横向显示

(4)select now();

#显示现在时间

(5)显示数据库版本:

select version();

(6)显示当前登录的用户:

select user();

(7)取消命令:

\c

(8)指定分隔符:

delimiter

(9)查看当前使用的数据库:

select database();


34.6、mysql忘记密码怎么办:

1、方法一:启动mysql时,跳过授权表(推荐):

[root@controller ~]# service mysqld stop

[root@controller ~]# mysqld_safe --skip-grant-table &

[root@controller ~]# mysql

mysql> select user,host,password from mysql.user;

+----------+-----------------------+-------------------------------------------+

| user | host | password |

+----------+-----------------------+-------------------------------------------+

| root | localhost | *A4B6157319038724E3560894F7F932C8886EBFCF |

| root | localhost.localdomain | |

| root | 127.0.0.1 | |

| root | ::1 | |

| | localhost | |

| | localhost.localdomain | |

| root | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |

+----------+-----------------------+-------------------------------------------+

mysql> update mysql.user set password=password("123") where user="root" and host="localhost";

mysql> flush privileges;

mysql> exit

[root@controller ~]# service mysqld restart

[root@controller ~]# mysql -uroot -p123


2、方法二:删库(不推荐):

删除与权限相关的库mysql,所有的授权信息都丢失,数据库重启后会重新建立新的mysql库,主要用于测试

数据库或者刚刚建库不久没有授权数据的情况(从删库到跑路)。

[root@controller ~]# rm -rf /var/lib/mysql/mysql

[root@controller ~]# service mysqld restart

[root@controller ~]# mysql


34.7、sql及其规范:

1、sql是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。

在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库

操作的基础,并且现在几乎所有的数据库均支持sql。


2、在数据库系统中,SQL语句不区分大小写(建议用大写),但字符串常量区分大小写,建议命令大写,表名库名小写。


3、(sql语句可以折行操作)SQL语句可单行或多行书写,以“;”结尾,关键词不能跨多行或简写。


4、用空格和缩进来提高语句的可读性,子句通常位于独立行,便于编辑,提高可读性。

例:SELECT * FROM tb_table

WHERE NAME="LC";


5、注释:

(1)单行注释:--

(2)多行注释:/*......*/


6、SQL中DML、DDL、DCL的区别:

(1)DML(data manipulation language):

数据库管理语言:是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的

数据进行操作的语言。


(2)DDL(data definition language):

数据库定义语言:DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)

的结构、数据类型、表之间的链接和约束等初始化工作上,他们大多在建立表时使用。


(3)DCL(Data Control Language):

数据库控制语言:是用来设置更改数据库用户或角色权限的语句,包括grant,deny,revoke等语句。在默认状态下,只有

sysadmin、dbcreator、db_owner、db_securityadmin等人员才有权力执行DCL。

COMMIT

#提交

SAVEPOINT

#保存点

ROLLBACK

#回滚

SET TRANSACTION

#设置当前事务的特性,它对后面的事务没有影响


7、在MySQL中删除一张表或一条数据的时候,出现

[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails (...),

这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避

免这种情况。我们可以使用 SET global/session FOREIGN_KEY_CHECKS=0; 来禁用外键约束,之后再用

SET global/session FOREIGN_KEY_CHECKS=1; 来启动外键约束,查看当前 FOREIGN_KEY_CHECKS 的值可用如下命

令 SELECT @@/@FOREIGN_KEY_CHECKS; show global/session variables like 'FOREIGN_KEY_CHECKS';

#提示:@ 表示局部变量,@@ 表示全局变量。


8、表于表之间的关系:

一对一:班级和班号(一个班级对应一个班号,一个班号对应一个班级),学生姓名和学号(一个学生对应一个学号,一个学号对应一个学生)。

一对多:班级和学生(一个班级有多个学生,一个学生只属于一个班级),学校和学校中的院系(一个学校有多个院系,一个院系只属于这一个学校)。

多对多:学生和课程(一个学生可以选多门课程,一门课程可以被多个学生选),教师和学生(一个教师可以带多个学生,一个学生可以有多个老师带)。


标签:数据库,用户,34,controller,mysqld,mysql,root
From: https://blog.51cto.com/u_11409186/5743155

相关文章

  • 35、mysql数据库(ddl)
    35.1、数据库之库操作:1、创建数据库(在磁盘上创建一个对应的文件夹):createdatabase[ifnotexists]db_name[charactersetxxx];2、查看数据库:showdatabases;#查看所有数......
  • mysql 语句执行顺序
    mysql语句执行顺序fromjoinonwheregroupbyhavingselectorderbylimit解释from:表连接leftjoinon:表连接,并筛选(左表全有,右表符合条件有)where:连接后筛选......
  • .NET 6配置EF Core数据库链接字符串
    appsetting.json{"Logging":{"LogLevel":{"Default":"Information","Microsoft.AspNetCore":"Warning"}},"AllowedHosts":"*",......
  • HTTP.sys远程执行代码(CVE-2015-1635)(MS15-034)
    发现一个http.sys告警信息,这里复现一下,增加知识储备这里参考了这位师傅的文章https://blog.csdn.net/qq_41210745/article/details/103437683漏洞详情IIS服务进程依赖H......
  • MySQL列的数据类型讲解
    数值tinyint十分小的数据1个字节smallint较小的数据2个字节mediumint中等大小的数据3个字节int标准的整数4个字节常用的intbigint较......
  • sandbox 快速部署mysql
    MySQLSandboxisatoolthatinstallsoneormoreMySQLserverswithinseconds,easily,securely,andwithfullcontrol.Onceinstalled,thesandboxiseasilyus......
  • mysql 分组查询--group by--having
    分组查询groupby字段将查询结果按照某个字段进行分组,字段值相同的为一组其实就是按照某一列进行分类分组查询的作用单独使用分组没有任何用处,因为单独只分组不进行......
  • jsp操作本地数据库
    @目录环境准备检查驱动下载驱动配置Tomcat配置idea开始上手测试连接主界面显示列出全部学生模块实现条件查询学生模块实现添加学生模块实现条件删除学生模块实现条件修改学......
  • 如何优雅的备份MySQL数据?看这篇文章就够了
    大家好,我是一灯,今天一块学习一下如何优雅安全的备份MySQL数据?1.为什么要备份数据先说一下为什么需要备份MySQL数据?一句话总结就是:为了保证数据的安全性。如果我们把数......
  • 数据库基础知识
    为什么要使用数据库数据保存在内存优点:存取速度快缺点:数据不能永久保数据保存在文件优点:数据永久保存缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便......