初识MySQL
[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 版权协议,转载请附上原文出处链接和本声明。