mysql

一、问题描述:

最近重装Windows 10系统后准备升级软件版本,发现MySQL新版本为5.7.10,于是按照以前的操作方式安装(①解压ZIP;②安装Windows服务;③启动MySQL服务;③修改root默认空密码),然后先后发现了启动失败、修改密码失败等问题,遂整理以下操作以分享。

问题:启动失败,MySQL 服务无法启动、服务没有报告任何错误。
启动失败,MySQL 服务无法启动、服务没有报告任何错误。
原因:MySQL 5.7.6 changelog:废弃了mysql_install_db,使用mysqld –initialize (formerly known as “mysqld –bootstrap,” now deprecated.)替代。
总结:MySQL将需要使用命令–initialize初始data,具体请看"操作步骤"。

问题:修改密码失败,Access denied for user 'root'@'localhost' (usering password: NO)。
修改密码,Access denied for user 'root'@'localhost' (usering password: NO)。
原因:MySQL 5.7.4 changelog:可以跳过 -skip-random-password 选项来默认生成随机密码。
           MySQL 5.7.5 changelog:还是默认生成随机密码,但是选项修改为 –insecure。
总结:MySQL升级日中"提升MySQL安全性"将抛弃空""密码初始方式,通过命令–initialize初始data并生成随机密码。

二、操作步骤:

1.解压至目录D:\Program Files\MySQL\mysql-5.7.10(个人习惯"标准"目录)

2.复制文件my-default.ini重命名新文件my.ini,新文件my.ini粘贴以下内容:
[java]  view plain  copy
 print ?
  1. # For advice on how to change settings please see  
  2. # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html  
  3. # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the  
  4. # *** default location during install, and will be replaced if you  
  5. # *** upgrade to a newer version of MySQL.  
  6. [mysql]  
  7. # 设置客户端默认字符集  
  8. default-character-set=utf8  
  9.   
  10. [mysqld]  
  11. # 设置端口号  
  12. # port=3306  
  13. # 设置安装目录  
  14. # basedir=D:\Program Files\MySQL\mysql-5.7.10  
  15. # 设置数据目录  
  16. # datadir=D:\Program Files\MySQL\mysql-5.7.10\data  
  17. # 允许最大连接数  
  18. # 即使连接数达到最大限制也会预留一个连接给管理员使用,如果设置太小可能会出现"Too many connections"错误  
  19. max_connections=200  
  20. # 服务端字符集,默认为8比特编码的latin1字符集  
  21. character_set_server=utf8  
  22. # 默认存储引擎,创建新表时使用  
  23. default_storage_engine=INNODB  
  24. # 当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接。  
  25. # 对于某些客户端,如果通信信息包过大,在执行查询期间,可能会遇到“丢失与MySQL服务器的连接”错误。  
  26. max_allowed_packet=64M  
  27. # SQL模式  
  28. # NO_BACKSLASH_ESCAPES  
  29. # 禁用反斜线字符(‘')做为字符串内的退出字符。启用该模式,反斜线则成为普通字符。  
  30. # NO_DIR_IN_CREATE  
  31. # 创建表时,忽视所有INDEX DIRECTORY和DATA DIRECTORY指令。该选项对从复制服务器有用。  
  32. # NO_ENGINE_SUBSTITUTION  
  33. # 如果需要的存储引擎被禁用或未编译,可以防止自动替换存储引擎。  
  34. # NO_FIELD_OPTIONS  
  35. # 不要在SHOW CREATE TABLE的输出中打印MySQL专用列选项。该模式在可移植模式(portability mode)下用于mysqldump。  
  36. # NO_KEY_OPTIONS  
  37. # 不要在SHOW CREATE TABLE的输出中打印MySQL专用索引选项。该模式在可移植模式(portability mode)下用于mysqldump。  
  38. # NO_TABLE_OPTIONS  
  39. # 不要在SHOW CREATE TABLE的输出中打印MySQL专用表选项(例如ENGINE)。该模式在可移植模式(portability mode)下用于mysqldump。  
  40. # NO_UNSIGNED_SUBTRACTION  
  41. # 在减运算中,如果某个操作数没有符号,不要将结果标记为UNSIGNED。请注意这样使UNSIGNED BIGINT不能100%用于上下文中。  
  42. # NO_ZERO_DATE  
  43. # 在严格模式,不要将 ‘0000-00-00′做为合法日期。你仍然可以用IGNORE选项插入零日期。在非严格模式,可以接受该日期,但会生成警告。  
  44. # NO_ZERO_IN_DATE  
  45. # 在严格模式,不接受月或日部分为0的日期。如果使用IGNORE选项,我们为类似的日期插入'0000-00-00′。在非严格模式,可以接受该日期,但会生成警告。  
  46. # ONLY_FULL_GROUP_BY  
  47. # 不要让GROUP BY部分中的查询指向未选择的列。  
  48. # PIPES_AS_CONCAT  
  49. # 将||视为字符串连接操作符(+)(同CONCAT()),而不视为OR。  
  50. # REAL_AS_FLOAT  
  51. # 将REAL视为FLOAT的同义词,而不是DOUBLE的同义词。  
  52. # STRICT_TRANS_TABLES  
  53. # 为所有存储引擎启用严格模式。非法数据值被拒绝。后面有详细说明。  
  54. # STRICT_TRANS_TABLES  
  55. # 为事务存储引擎启用严格模式,也可能为非事务存储引擎启用严格模式。  
  56. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  

3.DOS进入目录bin执行命令(添加Windows服务):mysqld --install。
执行命令(添加Windows服务):mysqld --install。
移除Windows服务命令(必须时使用):mysqld --remove。 移除Windows服务命令(必须时使用):mysqld --remove。

4.继续执行命令(初始化MySQL"data"并获得初始密码):mysqld --initialize --console。
注意:必须记录该初始密码,以备修改密码。 执行命令(初始化MySQL'data'并获得初始密码):mysqld --initialize --console。

5.继续执行命令(启动MySQL服务):net start mysql。
执行命令(启动MySQL服务):net start mysql。

6.继续执行命令(修改MySQL默认密码为"root"):mysqladmin -u "root" -p password "root"。
注:此处需输入"步骤4"得到的初始密码。
执行命令(修改MySQL默认密码为'root'):mysqladmin -u 'root' -p password 'root'。

7.完成。

三、升级程序:

如有好的建议或成功案例请留言,谢谢!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值