MySQL数据库的安装,配置

时间:2021-10-06 06:44:10

1,MySQL的安装

  • 初识SQL语言
    • SQL语言主要是用于存储数据,查询数据,更新数据和管理关系型数据库系统,SQL语言由IBM开发,即甲骨文。
  • SQL的三种类型
    • DDL语句:
      • 数据库定义语言:数据库,表,视图,索引,储存过程,例如,create,drop,alter
    • DML语句:
      • 数据库操纵语言:插入数据insert,删除数据delete,更新数据update,查询数据select
    • DCL语句:
      • 数据库的控制语言,例如控制用户的访问权限grant,revoke
  • 数据库的命名规则
    • 可以有数字,字母,下划线,@,#,¥
    • 区分大小写
    • 不能使用关键字如 create,select
    • 不能单独使用数字
    • 最长128位

2,MySQL的简单指令

  • DBMS数据库管理系统
  • mysql RDBMS 关系型数据库管理系统
  • 数据库database,相当于文件夹
    • 查看数据库
      • show databases;
    • 创建数据库
      • create database db1;
    • 使用数据库
      • use db1;
  • 库的增删改查
    • 创建数据库并指定编码
      • create database db2 charset utf8;
    • 修改数据库
      • alter datebase db2 charset utf8;
    • 删除数据库
      • drop database db2
  • 表 table,相当于文件
    • 首先切换到文件夹下
      • use db1
    • 创建表
      • create table stu(in int, name char(16));
    • 查看当下所有的表
      • show tables;
    • 查看创建的指定的表
      • show create table stu;
    • 查看看表结构
      • desc stu;
  • 表的增删改查
    • 新增信息,两种方法
      • insert into stu values(1,‘大卫’),(2,‘小钰’),(3,‘阿浪’);
      • insert into stu(id ,name) values(1,‘大卫’);
    • 删除表中内容
      • delete from stu where name = ‘阿浪’;
    • 修改表中内容
      • update stu set name = ‘david’ where id = 3;
    • 查看所有的表数据
      • select * from stu;
    • 条件查询
      • select * from stu where id = 1;
  • 其他指令
    • 查看字符编码的指令
      • show variables like “%char%”;
    • mysql 链接服务端的完整指令
      • mysql -h 127.0.0.1 -p 3306 -u root -p
    • 如果在cmd中输入命令的时候,输入错了就用‘c跳出
    • s 查看配置信息

3,修改密码的三种方式

  • 方法1: 用SET PASSWORD命令 
        首先登录MySQL,使用mysql自带的那个客户端连接上mysql。 
        格式:mysql> set password for 用户名@localhost = password('新         密码'); 
        例子:mysql> set password for [email protected] =                  password('123'); 
        
    方法2:用mysqladmin  (因为我们将bin已经添加到环境变量了,这个mysqladmin也        在bin目录下,所以可以直接使用这个mysqladmin功能,使用它来修改密码)
    
        关于mysqladmin的介绍:是一个执行管理操作的客户端程序。它可以用来检查          服务器的配置和当前状态、创建和删除数据库、修改用户密码等等的功能,虽       然mysqladmin的很多功能通过使用MySQL自带的mysql客户端可以搞定,但是       有时候使用mysqladmin操作会比较简单。
        格式:mysqladmin -u用户名 -p旧密码 password 新密码 
        例子:mysqladmin -uroot -p123456 password 123  
        
    方法3:用UPDATE直接编辑那个自动的mysql库中的user表 
        首先登录MySQL,连接上mysql服务端。 
        mysql> use mysql;   use mysql的意思是切换到mysql这个库,这个库是          所有的用户表和权限相关的表都在这个库里面,我们进入到这个库才能修改这个      库里面的表。
        mysql> update user set password=password('123') where           user='root' and host='localhost';   其中                          password=password('123') 前面的password是变量,后面的password      是mysql提供的给密码加密用的,我们最好不要明文的存密码,对吧,其中        user是一个表,存着所有的mysql用户的信息。
    
        mysql> flush privileges;  刷新权限,让其生效,否则不生效,修改不成功。

4,密码忘记怎么办

  • 1 停掉MySQL服务端(net stop mysql)
    2 切换到MySQL安装目录下的bin目录下,然后手动指定启动程序来启动mysql服务端,指令: mysqld.exe --skip-grant-tables
    3 重新启动一个窗口,连接mysql服务端,
    4 修改mysql库里面的user表里面的root用户记录的密码:
      update user set password = password('666') where user='root';
    5 关掉mysqld服务端,指令:
      tasklist|findstr mysqld
      taskkill /F /PID 进程号
    
    6 正常启动服务端(net start mysql)

5,mysql配置文件

  • [client]
    #设置mysql客户端默认字符集
    default-character-set=utf8 
    
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8 
    user = 'root'
    password = '123'
    
    [mysqld]
    #设置3306端口
    port = 3306 
    # 设置mysql的安装目录
    basedir=E:mysql-5.6.45-winx64 
    # 设置mysql数据库的数据的存放目录
    datadir=E:mysql-5.6.45-winx64data 
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB

6,储存引擎

  • 储存引擎:就是如何储存数据,如何为储存的数据建立索引和如何更新,查询数据等技术的实现方法,因为在关系型数据库中数据的储存是以表的形式储存 的,所以储存引擎也可以称为表类型,即储存和操作此表的类型

  • 储存引擎:就是表的类型,一种类型表明的是一种储存方式,不同的类型就会对应不同的处理机制去处理他

  • 事物:就是要么同时成功,要么同时不成功

  • 方法一:建表是指定

    • 存储引擎
      1.create table t1(id int) engine = innodb 会出现2个文件
      2.create table t2(id int) engine = myisam 会出现3个文件(速度比上面的快),但是我们还是用innodb存储 
      3.create table t3(id int) engine = memory 只有表结构没有表数据,是创建到内存中的
      4.create table t4(id int) engine = blackhole  黑洞,吃数据(数据存进去就没有了,存进去就没有了
  • 方法二:在配置文件中指定默认的储存引擎

    • /etc/my.cnf
      [mysqld]
      default-storage-engine=INNODB
      innodb_file_per_table=1
    • MySam:读写分离两个服务器