标签:
今天在Windows上安装Mysql的时候,去官网上下了一个最新版本的Mysql5.7.10绿色版,但是之前网上安装方式都过时了,比如会报一些常见的错误“[ERROR] Fatal error: Can‘t open and lock privilegetables: Table ‘mysql.user‘ doesn‘t exist”,毕竟是开源的东西,官方文档比较全,自己动手丰衣足食啊。下面是我参考官方文档的安装步骤。
1.解压下载的mysql安装包,复制mysql-default.ini,然后重命名为mysql.ini。Mysql启动的时候会去寻找这个名字为mysql.ini的文件。
2.编辑mysql.ini,在[mysqld]下编辑basedir和datadir目录,如果没有自行添加,其中"#"是注释的意思。
[mysqld] # set basedir to your installation path basedir=E:\\mysql # set datadir to the location of your data directory datadir=E:\\mydata\\data
注意的是在windows下的路径要使用"\\"。
对于mysql的其他配置选项其参考:http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
3.初始化Data数据目录
使用cd命令,到达bin目录下面,或者将bin目录的文件夹路径添加到环境变量中的path中去。
运行以下其中的任何一个命令即可:
bin\mysqld --initialize
bin\mysqld --initialize-insecure
这两条命令的共同点是:
1.如果数据目录不存在,那么创建;
2.如果数据目录中有数据存在,将会产生以下错误:
[ERROR] --initialize specified but the data directory exists. Aborting.
不同点是:
1.mysqld --initialize 命令会创建一个‘root‘@‘localhost‘超级账户,并且会分配给一个随机的密码,这个密码可以在mysql的错误日志文件中看到,一般错误日志文件是在data文件夹下名字为“你的主机名-Pc.err”的文件,其中有这么一行“[Note] A temporary password is generated for root@localhost: wYoV/8xVpycV”。
2.mysqld --initialize-insecure 命令也会创建一个‘root‘@‘localhost‘超级账户,但是密码为空。没有密码的情况,只能用root在本机登录,远程访问不了。
4.修改root的密码:
1.使用mysqld --initialize命令初始化数据的情况下,修改密码按照以下方式:
使用mysqld --console 启动mysql数据库;
这样表明是启动成功了:
使用另一个cmd窗口,用上边给的随机的密码登录mysql:mysql -u root -p ,然后执行:ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
2.使用mysqld --initialize-insecure命令初始化data数据的情况下:
使用mysqld --console 启动数据库;
使用另一个cmd窗口,输入以下命令:
mysql -u root ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘new_password‘;
到此即完成mysql数据库绿色版的安装。
参考文档:
1.绿色版安装步骤:http://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html
2.初始化Data目录:http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html
3.初始化root账户密码:http://dev.mysql.com/doc/refman/5.7/en/default-privileges.html
4.修改密码:http://dev.mysql.com/doc/refman/5.7/en/alter-user.html
5.重置密码:http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
标签:
原文地址:http://www.cnblogs.com/machanghai/p/5170134.html