环境变量配置及系统服务制作
'''
小知识点补充
1:如何查看当前具体进程(windows)
tasklist
tasklist |findstr mysqld
2: 如何杀死具体进程(只有在管理员cmd窗口下才能成功)
taskkill /F /PID PID号
环境变量配置
每次启动mysqld需要先切到对应的文件路径下才能操作,太过繁琐
将mysqld所在的文件路径添加到系统环境变量中
还是繁琐,需要起两个cmd窗口,不好
解决:将mysql服务端制作成系统服务(开机自启动)
查看当前计算机的运行进程数(win+r:输入services.msc/或直接查看任务管理器)
将mysql制作成系统服务
管理员cmd窗口输入命令:mysqld -install
移除mysql系统服务
管理员cmd窗口输入命令:mysqld --remove
'''
设置及修改密码
'''
mysqladmin -uroot -p原密码 password 新密码
(管理员cmd窗口,如果原密码为空则不需输入)该命令直接在终端输入即可,无需进入客户端,enter后还会让你继续输入原来的密码,如果原来密码为空,那么不需要输入直接enter即可
'''
跳过授权表并重置密码
'''
你可以将mysql获取用户名和密码校验的功能看成是一个装饰器,装饰在了客户端请求访问的功能上
我们如果将该装饰器移除,那么mysql服务端就不会校验用户名和密码了
1:先关闭当前mysql服务端
命令行的方式启动(让mysql挑错用户名密码验证功能)
mysqld --skip-grant-tables
2:直接以无密码的方式连接
mysql -uroot -p 直接回车
3:修改当前用户的密码
update mysql.user set password=(123456) where user='root' and host='localhost';
真正存储用户表的密码字段,存储的肯定是密文,只有用户自己知道明文是什么,其他人都不知道,这样更加的安全
密码比对也只能比对密文
4:立刻将修改数据刷到硬盘
flush privileges;
5:关闭当前服务端,然后以正常校验授权表的形式启动
'''
统一编码
'''
mysql中输入\s可查看到Server characterset:latin1;Db characterset:latin1;Client characterset:gbk;Conn. characterset:gbk
mysql默认的配置文件
my-default.ini
ini结尾的一般都是配置文件,程序启动会先加载配置文件中的配置,之后才真正的启动
[mysqld] # 一旦服务端启动,立刻加载下面的配置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql] # 一旦客户端启动,立刻加载下面的配置
...
[client] # 其它客户端
...
# 需要你自己在(D:\mysql\mysql-5.6.42-winx64下)新建一个my.ini的配置文件
# 修改配置文件后,一定要重启服务才能生效
# 统一编码的配置,无需掌握,直接拷贝即可
# 偷懒:将管理员的用户名和密码也添加到配置文件中(这样只需要输入mysql就可以进入了,不需要再输密码)
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
user="root"
password=123456
'''