MySQL系列安装及使用问题总结 Error 1045/1054/1820/无法创建新用户/无法关闭/无法启动/配置/安装/root密码修改

注:该经验文档为文件配置的安装方式

 

1. 首先呢肯定是下载好文件然后配置环境变量,还有就是在根目录下写一个my.ini的文件(网上都说会有mydefault.ini,但至少我没看到)

 

my.ini内容

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#去掉“#”重启mysql跳过密码校验

#skip-grant-tables

default_password_lifetime=0

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=F:\MySQL\mysql-5.7.21-winx64

# 设置mysql数据库的数据的存放目录

datadir=F:\MySQL\mysql-5.7.21-winx64\data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB


注:经测试,win10下安装无论是否管理员权限又或是配置了环境变量,在输入安装命令(步骤3)之前,需调到mysql文件的根目录下的bin文件夹进行操作,不然操作会失败,win7经测无需做这样的操作(至少我是这样)


2. 其次在cmd调到MySQL根目录的bin文件夹下,输入mysqld  --initialize --user=mysql –console(这里输完之后会进行初始化的数据创建,而最后显示的文字的最后一排的localhost之后的据说是临时密码,但实际上我的经验而言,没有毛用…)

 

注:若在初始化那一步初始化出来的root账户下没有mysql数据库(根目录下的data文件夹下没有名为mysql的文件夹),则删除掉根目录的data文件夹,使用mysqld --initialize-insecure--user=mysql初始化

 

3. 输入mysqld –install

 

注:这里是安装mysql,但是对于使用过的哥们儿而言,也是一样的会提示已存在,但这个无所谓,提示存在就直接跳过这步

 

4.然后是关键的步骤来了,这里如果按照正常的登录方式mysql –u root –p这样来,会提示输入密码,而且上面也提到,给的临时密码没有毛用(笔者是如此),所以这个时候又要用到另一条命令mysqld nt –skip-grant-table,这条命令的目的是为了跳过密码验证,输入之后光标会一直在新的一行闪动,但没有新的文字出现,网上的说法是不关闭这个窗口,至少笔者美观,所以不知道关了会不会影响会面的操作。然后新打开一个cmd窗口然后输入mysql –u root就能进入了

 

(但如果上面输入命令之后出现了新文字便可以尝试在my.ini写入这句话的方法,重新启动生效)

注:可能有的小伙伴在网上找的my.ini配置里面的[mysqld]下面写了这么一段话skip-grant-table,这个同样是跳过验证,但是这个每次启动都会使用到,这个会对新用户创建产生影响(也就是说跳过验证登录root的话是不能创建新用户的Error 1045(貌似是这个编号.....忘了)),会报错提示在--skip-grant-table模式下无法使用新用户创建的命令,所以笔者建议使用在cmd里仿照上一步骤的方式来跳过密码验证,主要是方便的。而使用该方法注意在修改默认账户密码之后注意删除my.ini文件中的skip-grant-tables这句话,并重新启动mysql才会生效

 

5. 然后接着是root账户的密码的修改,网上的说法是update user set password=….(就修改密码的指令,此处笔者就偷懒了)然后会报错1054,位置的列‘password’,如果用show create table user;,从显示出来的信息就能知道确实没有password,而相对的有authentication_string这一列,但实际上就是要用这一列来改。所以修改密码的命令就成了

update user set authentication_string=PASSWORD(‘新密码’) where user=’root’;

回车之后完成

-------------------------------------------------我是华丽的分割线--------------------------------------------------------
                                                     
注:若已能正常使用,则请直接跳至步骤8
-------------------------------------------------
我是华丽的分割线--------------------------------------------------------

 

6. 然后退出使用net stop mysql来关闭之前输入的密码验证跳过指令的影响,但神奇的事发生了。mysql关闭提示没启动,启动提示无法启动。所以这里笔者采用了万能的解决方法。重启电脑,但重启确实起作用了,在cmd中输入mysql –u root-p,就会弹出密码输入请求,然后输入上面设置的新密码,成功进入

 

7. 这是最后的问题,笔者想着马上使用create user ‘new’@’localhost’ identified by ’123456’;来创建新的用户,但是马上有报错1820(HY000),而描述的意思呢也就是现在你使用的默认root用户密码未设置….然后输入了set password=PASSWORD(‘123456’);然后再输入上面的用户创建命令,创建成功,然后输入命令flush privileges;刷新权限,然后再退出

 

8. 重新登录mysql,这次使用新的用户,输入账户名和密码后。登陆成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值