在管理员命令窗口进行!进到mysq l的 bin 目录下(任务管理器,找到服务,找到mysql,右键点属性)mysql有哪个就进哪个吧,为什么我有好几个MySQl, MysQlL80..... ,最后的bin 在mysql_server 里
打开第一个窗口
net stop mysql ----停止 第一步
mysqld -console --skip-grant-tables --shared-memory ---跳过权限验证。
打开第二个窗口
et stop mysql ----第二步,再停
mysqld --console --skip-grant-tables --shared-memory -----再跳
打开第三个窗口
不需要通过net start mysql打开mysql服务 --
mysql -u root -p -----服务启动后,运行,直接进
update user set authentication_string='' where user='root';(将密码置为空)
····quit; (然后退出Mysql)
net stop mysql(关闭mysql服务,虽然会显示没有开启服务,但是以防万一),可以加,也可以不加,试试也没错
mysqld --initialize ----初始化 (如果不成功,就去任务管理器里把mysqld给它停了,这个就不懂了,试了好多次,不然进行不了下一步,打不开mysql服务)
net start mysql(再打开mysql服务)
mysql -u root -p
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; 这句话,就是加个密码,定个权限吧,好像版本不一样,写法也不太一样。
FLUSH PRIVILEGES; -----刷新保存¥ 没事多刷新几下
mysql> select host,user,plugin,authentication_string from mysql.user; 查看
select * from information_schema.user_privileges; 这个没啥,不应重复,当时练习了一下敲字
select * from information_schema.user_privileges; ----查看权限,确定一下
FLUSH PRIVILEGES; -----刷新保存¥
如果总出现 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
输入: flush privileges; 再继续
------
最后一次,我打开还这样,就
mysqld --initialize ----初始化 (如果不成功,就去任务管理器里把mysqld给它停了,这个就不懂了,试了好多次,不然进行不了下一步,打不开mysql服务)
net start mysql(再打开mysql服务) --------------------重开了下,就能跑了
------
mysql -u root -p
use mysql;
select User,Host from user
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; 又一个写法
------
create user root@'%' identified by 'root';
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "yourpasswd"; 好像版本不同,写法有点不同,试一试吧,哪个行,就哪个了 --------又一个写法
------
mysqld --initialize ----初始化
net start MySQL -----开启服务
mysql -u root -p -----服务启动后,运行
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码"; 又一个写法
乱七八糟一大堆,有用没用都留着。这个不对试试哪个,自己拼装,自己碰。基础,不懂原理,以后再补全。