作为一名前端,对于数据库这块是很薄弱的,虽然之前有做过接近一年的后端开发,但已经做纯前端做了快3年了,mysql的版本也从之前5.6升级到了版本8。这块对我来说,差不多是重头开始了。学习Mysql的文章相信网上已经很多了,因此不做学习方面的记录,只是记录下在学习Mysql8的过程中遇到的问题和对应的解决方法。
今天刚从Mysql官网将Mysql下载到本地,并按照教程安装执行,结果在登录时就遇到了问题...
在初始化的过程中,给出了一个初始密码,但是我却用这个初始密码登录不了...
因为给的初始密码有很多特殊字符,基本记不住,为了后面登录时不用每次都找密码,同时也解决下我登录不了这个问题,因此,遇到了学习Mysql的第一个问题 - 如何在忘记密码时修改root账号密码?
通过网上的资料,我也是成功的修改了root的密码并登录上了Mysql。具体过程记录如下:
- 跳过密码登录
要修改root的密码,首先的登录进Mysql控制台才行,但目前没有root账号的密码,所以得先以不校验密码的方式启动Mysql。以管理员方式打开一个命令行窗口,执行如下命令:
mysqld --console --skip-grant-tables --shared-memory
看到信息有Mysql已运行则启动成功。
- 登录Mysql
因为是以不校验密码的方式启动的Mysql,因此可以直接连接Mysql。以管理员方式另开一个命令行窗口:
mysql
看到如上信息则登录成功。
- 将root账号密码设置成空
update mysql.user set authentication_string="" where user="root";
flush privileges;
- 修改密码
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
flush privileges;
执行成功后,会看到Query OK, 0 rows affected表示密码已经修改成功了。
- 以密码的方式登录Mysql
先stop掉当前Mysql进程,然后使用普通的方式启动Mysqlnet start mysql,然后使用用户名,密码登录Mysql:
mysql -h localhost -u root -p