mysql初始

数据(data) :

-描述事物的符号记录称为数据,符号既可以是数据,文字,图片,声音,语言等,符号都可以经过数字化后存入计算机中

- 计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录

数据库(database) :

-什么是数据库??

-长期存放在计算机内,有组织,可共享的数据

-数据库管理系统(DBMS):

- 科学地组织和存储数据,高效获取和维护数据。

总结:

数据库服务器-:运行数据库管理软件

数据库管理软件:管理-数据库

数据库:即文件夹,用来组织文件/表

表:即文件,用来存放多行内容/多条记录

数据库的分类

  • 关系型数据库:

  • 对每一列的数据类型会有约束

    • 如 : mysql ,maridb , oracle,sql erver,sqlite

-非关系型数据库:

- 对每一列的数据类型没有约束

​ - 如 : redis , mongdb,memcache

区别:

				- 关系型数据库 : 把数据存储在硬盘中
				- 非关系型数据库 : 把数据存储在内存中

mysql的框架 :

 - #### 类似socket的客服端和服务端 

流程 :

  • mysql 服务端启动,监听在某一个特定的端口(3306)

  • mysql 客户端连接服务端

  • mysql 客户端就可以发送相关的操作命令,去操作服务端存储的数据

mysql的安装 :

  • windows安装:

  • 先去官网(https://dev.mysql.com/downloads/mysql/)

  • 下载:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/

  • 解压 如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:mysql-5.7.16-winx64

  • #3、添加环境变量 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】

  • #4、初始化 mysqld --initialize-insecure ### 创建data目录, 初始化的数据

  • #5、启动MySQL服务 mysqld # 启动MySQL服务

    • #6、启动MySQL客户端并连接MySQL服务 mysql -u root -p # 连接MySQL服务

制作windows的服务 :

注意:--install前,必须用mysql启动命令的绝对路径
# 制作MySQL的Windows服务,在终端执行此命令:
"c:mysql-5.7.16-winx64inmysqld" --install
# 移除MySQL的Windows服务,在终端执行此命令:
"c:mysql-5.7.16-winx64inmysqld" --remove
注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql
# 关闭MySQL服务
net stop mysql

设置密码:

初始状态下,管理员root,密码为空,默认只允许从本机登录localhost
设置密码
[root@egon ~]# mysqladmin -uroot password "123"        设置初始密码 由于原密码为空,因此-p可以不用
[root@egon ~]# mysqladmin -uroot -p"123" password "456"        修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码
命令格式:
[root@egon ~]# mysql -h172.31.0.2 -uroot -p456
[root@egon ~]# mysql -uroot -p
[root@egon ~]# mysql                    以root用户登录本机,密码为空

windows平台下破解密码 :

#1 关闭mysql
#2 在cmd中执行:mysqld --skip-grant-tables
#3 在cmd中执行:mysql
#4 执行如下sql:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges;     # 更新
#5 tskill mysqld #或taskkill -f /PID 7832
#6 重新启动mysql
方法二 :
#1. 关闭mysql,可以用tskill mysqld将其杀死
#2. 在解压目录下,新建mysql配置文件my.ini
#3. my.ini内容,指定
[mysqld]
skip-grant-tables
#4.启动mysqld
#5.在cmd里直接输入mysql登录,然后操作
update mysql.user set authentication_string=password('') where user='root and host='localhost';
flush privileges;
#6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了

统一字符编码 :

#1. 修改配置文件
[mysqld]
default-character-set=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8
#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

常用参数 :

  • -u : user 用户名

  • -p : password 密码

  • -h : host 主机名或ip mysql -uroot -p -h 192.168.1.10

  • -p : port 默认 3306 mysql -uroot -p -h 192.168.1.10 -P

sql 指令 :

- 用于存取数据、查询数据、更新数据和管理关系数据库系统

“;” : 表示一条指令结束

操作数据库 :

  • 增 :

    -create database 数据库名 charset utf8;

    命名规范: 可以由字母、数字、下划线、@、#、$

    区分大小写 唯一性

    不能使用关键字如 create select

    不能单独使用数字 最长128位

-删 :

-drop database 数据库名称;

-查 :

-show databases;

改 :

     #### 删除在添加

    #### 如果数据库中有数据的话,直接drop会导致数据库中的数据丢失

    #### 在线上环境,不能够直接删除数据, 在删除之前,需要进行备份
  • 使用 数据库 :

    use 数据库名

原文地址:https://www.cnblogs.com/shaozheng/p/11752774.html