mysql数据库

Posted fqh202

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库相关的知识,希望对你有一定的参考价值。

数据库msyql基础

数据库管理软件分类

  1. 关系型:如sqllite,db2,oracle,access,sql server,mysql,注意:sql语句通用
  2. 非关系型:mongodb,redis,memcache

可以简单的理解为:

  1. 关系型数据库需要有表结构
  2. 非关系型数据库是key-value存储的,没有表结构

下载安装

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

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

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

4、初始化
mysqld --initialize-insecure

5、启动MySQL服务
mysqld # 启动MySQL服务,此时会一直在这里阻塞

6、启动MySQL客户端并连接MySQL服务
mysql -u root -p # 连接MySQL服务器, 此时密码为空


登录,设置密码

初始状态下,管理员root,密码为空,默认只允许从本机登录localhost
设置密码
$ mysqladmin -uroot password "123" : 设置初始密码 由于原密码为空,因此-p可以不用
$ mysqladmin -uroot -p"123" password "456" : 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码

忘记密码

  • 方法一,在命令行跳过用户认证功能
    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

  • 方法二,在bin目录下创建my.ini文件,在文件内指定登录msyql时跳过用户认证功能
    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,然后就可以以新密码登录了


在windows下,为mysql服务指定配置文件

在mysql的解压目录下,新建my.ini,然后配置.

  1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效

        [mysqld]
        ;skip-grant-tables
        port=3306
        character_set_server=utf8
        default-storage-engine=innodb
        innodb_file_per_table=1
        # 解压的目录
        basedir=E:\mysql-5.7.19-winx64
        # data目录
        datadir=E:\my_data 
        # 在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据
  2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效

        [client]
        port=3306
        default-character-set=utf8
        user=root
        password=123
  3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置

    [mysql]
    ;port=3306
    ;default-character-set=utf8
    user=egon
    password=4573

!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准


















以上是关于mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

硬核!管理mysql数据库的工具

修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段