记录一次windows安装mysql的经历

事情的起因是这样的,mysql5.5(包括)以下版本都是不支持设置多个timestamp默认值的,所以当我执行有的表中包含两个timestamp带DEFAULT CURRENT_TIMESTAMP的sql的时候就执行不了了.为了保持代码和数据库的版本一致性,就开始了这次的mysql安装之旅.
第一次安装mysql的时候是大二大三的时候吧,那时候是安装版.我一直以为如果别人的轮子比你造的好,你就不用重复造轮子,所以我以前一直使用的是mysql的集成环境,即使是在linux上面安装mysql也都是按照教程一点一点儿来的,只有当现有的东西不能满足的情况下,才需要自己动手.所以才动手安装mysql5.7的.我按照印象去下载mysql,下载下来结果发现是绿色版,一脸懵逼…接下来就简单记录一下mysql安装中需要解决的几个问题.
1. 解压mysql
解压后注意修改解压文件夹的位置,尽量不要放在中文目录下面,虽然我没有测试是否有问题,但是在这上面遇到的坑又不是一次两次了.
2. 增加配置文件: my.ini
修改默认的my-default.ini文件
[mysqld]
basedir=”D:/MySQL/”   # mysql的解压路径
datadir=”D:/MySQL/data/”  # mysql的数据表的存储路径
3. 初始化mysql (第一个坑)
网上流传的mysql绿色版的安装方式都是没有这一步的最多指定以下my.ini的位置,但是如果跳过这一步,下面的服务项即使是安装成功了,也会处于”mysql –正在启动中吧  mysql — 启动失败”状态中.所以需要进行mysql的初始化工作.在mysql/bin的目录中执行以下代码:
mysqld –defaults-file=my.ini –initialize-insecure 
如果报mysqld命令不存在的话,请核对你自己的mysql安装路径是否正确,具体查看参考链接1
4. 安装mysql到服务项
这一步就是简单的 mysqld –install 同时如果想要卸载服务项的话,就使用mysqld –remove
5. 启动服务项
在cmd命令行中敲入net start mysql ,同样的如果需要停止的话,就敲入 net stop mysql
既然是加入到了服务项中,自然也可以在windows的服务管理中找到这个服务,然后进行操作.
6. 增加一个远程的全局权限的用户
这时候在mysql/bin 目录中敲入 mysql -u root 进入到mysql命令行中,修改密码,不知道mysql是哪个版本开始,密码的字段名不再是password而是authentication_string,蜜汁设定...具体查看参考链接2

update user set authentication_string=password('root') where user='root';

这时候的root用户只能在本地访问的,我强制修改数据表的localhost为%还是不行,没有验证是不是配置文件也需要修改,印象中之前的版本就是控制字段就可以 了.这条路行不通,那么我就需要增加一个远程访问的超级管理员用户了.按照参考链接3就尅完成操作了.
创建一个远程访问的超级管理员chen,密码为chen
grant all privileges on *.* to chen@’%’ identified by ‘chen’;
 
参考:
解决Windows安装解压版MySQL出现服务正在启动-服务无法启动的问题
mysql-user-db-does-not-have-password-columns-installing-mysql-on-osx
mysql创建超级管理员

四月 29th, 2016 by