[toc]


1.初识MySQL

数据库相关定义

数据:描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、
图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机  

数据库:数据库是长期存放在计算机内、有组织、可共享的数据集合。数据库中的数据
按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展
性,并可为各种 用户共享。  

数据库管理系统:DataBase Management System 
简称DBMS,如MySQL、Oracle、SQLite、Access、MS SQL 
Server,本质就是开发的套接字软件

数据库软件分类

#分两大类:
  关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
  非关系型:mongodb,redis,memcache

#可以简单的理解为:
    关系型数据库需要有表结构
    非关系型数据库是key-value存储的,没有表结构

MySQL是什么?

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。  
MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS   
(Relational Database Management System,关系数据库管理系统) 应用软件之一。
#mysql就是一个基于socket编写的C/S架构的软件
#客户端软件
    mysql自带:如mysql命令,mysqldump命令等
  python模块:如pymysql

# 2.MySQL的安装
选择对应的版本下载
点我->MySQL
win环境下的安装

tasklist |findstr mysql
taskkill /F(强制终止) /PID 11111(根据PID)
mysqld --install 制作系统服务(管理员方式打开终端)
win R server 找到Mysq 启动服务
mysqld --remove 解除系统服务

centos7环境下安装

yum -y install mariadb-server[服务端,mariadb客户端]
systemctl start mariadb [启动服务]
systemctl status mariadb [查看服务运行状态]

# centos6 有所不同!
yum -y install mysql-server[服务端,mysql客户端]

mac环境下安装

双击安装,假如默认目录 /usr/local/mysql
vim /etc/profile
添加到PATH=/usr/local/mysql/bin:xxxxxx:$PATH
export PATH (全局生效)
保存退出
source /etc/profile 启动服务

3.密码破解

win环境下密码的设置以及破解方法

>mysql  #不加参数,默认登录ODBC账号
>mysql>select user(); #显示当前账户信息
#设置密码:
>mysqladmin -uroot[] -p password "abc123" # -u指定用户 -p指定原始密码,初始##为空 password,修改之后的密码
#再次修改例如:
>mysqladmin -uroot -pabc123 password abc123
#登录:
>mysql -uroot -p
>Enter password: abc123
    
#如果忘记了root密码;可以找回,跳过授权表mysql5_6------data----mysql 
#管理员登录终端
>net stop MySQL
>mysqld --skip-grant-tables
#登录另个终端:
>mysql -uroot -p  #不用密码登录
>update mysql.user set password=password("abc123") where user="root" and host="localhost";
>flush privileges; #刷新一下授权表
>exit
>tasklist |findstr mysql
>taskkill /F /PID 101001
>net start MySQL #重启服务
>mysql -uroot -pabc123 -h 127.0.0.1 -P 3306 #指定套接字地址和端口

linux环境下的密码设置与更改

#默认登录root,设置方式和win一样
#破解:跳过授权表
    #终端一:
    #systemctl stop mariadb 终止服务
    #mysql_safe --skip-grant-tables
    #终端二:
    >mysql -uroot -p
    >update mysql.user set password=password("abc123") where user = "root" and host="localhost";
    >flush privileges:
    >exit
    >pkill -9 mysql
    >systemctl start mariadb 启动服务

mac环境下的密码设置与破解

#默认root
#设置密码(原始密码为空)
    >mysqladmin -uroot -p password "123"
    >password:
    >exit
    >mysql -uroot -p123
    >exit
    
    >mysqladmin -uroot -p123 password "abc123"
    
#破解密码:跳过授权表
    #手动终止服务
    #终端一:
    #mysqld_safe --skip-grant-tables
    #终端二:
    #mysql -uroot -p
    >update mysql.user set password=passwore("abc123") where user="root" and host="localhost";
    >flish privileges;
    >exit
    #ps aux |grep mysql  找到与mysql都相关的进程PID(有个终端程序别杀了,不然操作的终端就关闭了)
    #kill -9 6666
    #kill -9 7777
    ...
    #手动启动服务

4.统一字符编码

统一字符编码,不然会出现一大堆乱码,最好都改成utf8

win平台

#win平台:
    >mysql -uroot -p abc123
    > \s #查看字符编码,发现大有不同,latinl gbk什么的!这些都要改成utf8!
    #找mysql的安装目录---my-default.ini(参考配置文件)
    #自己在当前目录新建一个配置文件my.ini。 强调:配置文件中的注释可以有中文,但是配置项中不能出现中文
    #针对5.5以前的配置,将下面的内容写在里面:
        [mysqld]
        default-character-set=utf8 
        [client]
        default-character-set=utf8 
        [mysql]
        default-character-set=utf8
        
    #针对5.5以后的配置:配置好后重启服务
        [mysqld]   /服务端
        character-set-server=utf8
        collation-server=utf8_general_ci
        [client]  /统一的配置,全局的,不同的客户端,python,java,PHP
        default-character-set=utf8
        [mysql] /为单独的客户端定义一个配置,可以自己写,添加
        default-character-set=utf8
        user=“myconnfigname” /win默认 mysql 启动是ODBC,这样配置了就是root
        password=""
    #打开终端重启服务
        net stop MySQL
        net start MySQL

centos7

#终端一
   >mysql
   >\s #发现有latinl
   >exit
   # vim /etc/my.cnf #[在对应的头下面加上这些内容]
    [mysqld]   /服务端
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]  /统一的配置,全局的,不同的客户端,python,java,PHP
    default-character-set=utf8
    [mysql] /为单独的客户端定义一个配置,可以自己写,添加
    default-character-set=utf8
    [mysql] /为单独的客户端定义一个配置,可以自己写,添加
    default-character-set=utf8
   #Esc :wq! 保存并退出
   #systemctl restart mariadb #重启服务

mac

#终端:
#vim /etc/my.cnf [a进入编辑模式]
   [mysqld]   /服务端
   character-set-server=utf8
   collation-server=utf8_general_ci
   [client]  /统一的配置,全局的,不同的客户端,python,java,PHP
   default-character-set=utf8
   [mysql] /为单独的客户端定义一个配置,可以自己写,添加
   default-character-set=utf8
    Esc :wq 
    #重启服务[先关后开]

版权声明:本文为liuchengdage原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/liuchengdage/p/8910146.html