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