首先在解压出来的文件中添加文件my.ini
[mysql]
default-character-set=utf8
[mysqld]
port = 3306
basedir=D:\mysql
datadir=D:\mysql\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
1.以管理员身份运行cmd(打开C:\Windows\System32,找到cmd,然后右键选择以管理员身份运行)
2.进入mysql文件下的bin目录(这里我的目录为D:\mysql,所以我的命令是cd D:\mysql\bin)
3.执行命令 mysqld -install
4.执行命令 mysqld --initialize
5.执行命令 net start mysql
6.执行命令sql -uroot -p然后回车,之后会让输入密码,但是我们不知道密码,所以直接回车
这个时候会出现出现 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决办法:
1.net stop mysql
2.管理员身份运行cmd,进入mysql的bin目录下(安装过程中的前两步),如果之前的命令行没有关闭可以忽略这一步
3.运行命令 mysqld --skip-grant-tables,这是光标会一直闪,
4.打开cmd,然后在mysql的bin目录下
5.执行命令sql -uroot -p然后回车,之后会让输入密码,但是我们不知道密码,所以直接回车
这时候就进到了mysql里(提示符变成mysql>)因此我们在这修改密码
修改root密码
1.mysql>use mysql;
2.mysql>slect * from user;
3.这里如果显示的是 authentication_string(新版的5.7以后吧)就执行
mysql>update user set authentication_string=password("root") where user="root";
如果显示的是password 就执行
mysql>update user set password=password("root") where user="root";
4.flush privileges;
下次再登录的时候输入密码就是了比如 mysql -uroot -proot就直接登录了
参考前文利用安全模式成功登陆,然后修改密码,等于给MySql设置了密码。登陆进去后,想创建一个数据库测试下。得到的结果确实:
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
非常诡异啊,明明用密码登陆进去了,怎么还提示需要密码。
参考官方的一个文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。如下操作后就ok了:
mysql> create database yan1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)