1 MySQL 下载安装及初识+mysql配置文件的修改
1, 下载地址与安装
参考网站:https://www.mysql.com/ # MySQL有很多版本(5.6、5.7、8.0) 目前企业里面用的比较多的还是5.6左右
下载5.6版本即可,如果你下载了其他版本问题也不大,因为sql语句是一样的学,按照教学方式下载,会将服务端和客户端一并下载到本地
为了学习方便我们将服务端和客户端都在本地启动,后期到了公司服务端会专门跑在一台服务器上,所有人基于网络连接服务端操作
2, MySQL服务端与客户端
下载之后解压
服务端与客户端在bin目录下
服务端:mysqld.exe
客户端:mysql.exe
3, 注意
在前期配置MySQL的时候 cmd终端尽量以管理员的身份运行
windows+r 输入cmd 进入的是普通用户终端 有一些命令是无法执行的
搜索cmd右键 以管理员身份运行
4, MySQL启动
启动服务端:
先切换到mysqld所在的bin目录下,然后输入mysqld即可
启动客户端:
保留原来的cmd窗口重新打开一个
MySQL第一次以管理员身份进入是没有密码的 直接回车即可
客户端连接服务端完整命令
mysql -h 127.0.0.1 -P 3306 -uroot -p
常见软件的默认端口号:
MySQL 3306
redis 6379
mongodb 27017
django 8000
flask 5000
...
5, sql语句初识
5.1, MySQL中的sql语句是以分号作为结束的标志
5.2 基本命令
show databases; 查看所有的库名
5.3 连接服务端的命令可以简写
mysql -uroot -p
5.4 当你输入的命令不对 又不想让服务端执行并返回报错信息 可以用\c取消
错误命令 \c
5.5 客户端退出 退出命令加不加分号都可以执行
quit
exit
5.6 当你在连接服务端的时候 发现只输入mysql也能连接
但是你不是管理员身份 而只是一个游客模式
6,环境变量配置及系统服务制作
6.1 如何查看当前具体进程
tasklist
tasklist |findstr mysqld
6.2 如何杀死具体进程(只有在管理员cmd窗口下才能成功)
taskkill /F /PID PID号
7, 环境变量配置
每次启动mysqld需要先切到对应的文件路径下才能操作太多繁琐
将mysqld所在的文件路径添加到系统环境变量中
现在启动不需要切换路径(直接输入mysql命令)
8 开机自启动
虽然加到了环境变量,但是还是繁琐 需要起两个cmd窗口 不好
将mysql服务端制作成系统服务(开机自启动)
查看当前计算机的运行进程数命令:services.msc
将mysql制作成系统服务命令:mysqld --install
移除mysql系统服务命令:mysqld --remove
现在连接mysql非常简单:
9, 设置密码
mysqladmin -uroot -p原密码 password 新密码
改命令直接在终端输入即可 无序进入客户端
demo: mysqladmin -uroot -p 123 password 123456
现在连接MySQL服务端需要密码
10, 跳过授权表并重置密码(了解)
你可以将mysql获取用户名和密码校验的功能看成是一个装饰器
装饰在了客户端请求访问的功能上
我们如果将该装饰器移除 那么mysql服务端就不会校验用户名和密码了
1 ,先关闭当前mysql服务端
2,命令行的方式启动(让mysql跳过用户名密码验证功能)
mysqld --skip-grant-tables
3 ,直接以无密码的方式连接
mysql -uroot -p 直接回车
4, 修改当前用户的密码
update mysql.user set password=password(123456) where user='root' and host='localhost';
真正存储用户表的密码字段 存储的肯定是密文
只有用户自己知道明文是什么 其他人都不知道 这样更加的安全
密码比对也只能比对密文
5, 立刻将修改数据刷到硬盘
flush privileges;
6,关闭当前服务端 然后以正常校验授权表的形式启动
MySQL配置文件修改
1 \s 命令
编码不一致,可能出现乱码问题
2 统一编码
2.1 ini结尾的一般都是配置文件
mysql默认的配置文件 : my-default.ini
程序启动会先加载配置文件中的配置之后才真正的启动
[mysqld] # 一旦服务端启动立刻加载下面的配置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql] # 一旦客户端启动立刻加载下面的配置
...
[client] # 其他客户端
...
2.2 需要自己新建一个my.ini的配置文件
统一编码的配置 无需掌握 直接拷贝即可
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8