修改mysql密码

时间:2022-07-25
本文章向大家介绍修改mysql密码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

win10安装配置修改mysql 8.0

1.安装包

镜像站下载

2.配置文件

在Windows系统中,配置文件默认是安装目录下的 my.ini 文件,部分配置需要在初始安装时配置,大部分也可以在安装完成后进行更改。当然,极端情况下,所有的都是可以更改的。

在安装根目录下添加 my.ini,比如我这里是:D:Program FilesMySQLmy.ini,写入基本配置:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:Program FilesMySQL
# 设置mysql数据库的数据的存放目录
datadir=D:Program FilesMySQLdata
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

3.初始化数据库

以管理员身份运行cmd(注:必须以管理员身份),在C:WindowsSystem32目录下找到cmd.exe,进入在MySQL安装目录的 bin 目录下执行命令:

mysqld --initialize --console

执行完成之后,会打印 root 用户的初始默认密码,比如:

D:Program FilesMySQLbin>mysqld --initialize --console
2020-04-02T06:41:34.335366Z 0 [System] [MY-013169] [Server] D:Program FilesMySQLbinmysqld.exe (mysqld 8.0.15) initializing of server in progress as process 6244
2020-04-02T06:41:34.336716Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2020-04-02T06:41:49.871504Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: *psBf-q%a5l#
2020-04-02T06:41:57.330361Z 0 [System] [MY-013170] [Server] D:Program FilesMySQLbinmysqld.exe (mysqld 8.0.15) initializing of server has completed

其中*psBf-q%a5l#就是初始密码了

4.启动服务

进入bin目录,输入:mysqld -install

安装成功,将提示;Service successfully installed

net start mysql

5.修改密码

先使用刚获取的初始密码进行登录

mysql -uroot -p

输入如下命令进行修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY "123456"

到这里mysql 8.0的初始密码就修改完成了!

ubuntu系统下mysql重置密码和修改密码操作

一、忘记密码后想重置密码

在介绍修改密码之前,先介绍一个文件/etc/mysql/debian.cnf.其主要内容如下图:

里面有一个debian-sys-maint用户,这个用户只有Debian或Ubuntu服务器才有,所以如果您的服务器是Debain或Ubuntu,debian-sys-maint是个Mysql安装之后自带的用户,具体作用是重启及运行mysql服务。所以如果忘了root密码,可以通过这个用户来重设密码。下面介绍具体操作:

操作步骤

1.进入/etc/mysql/目录,并用root权限打开debian.cnf文件

> cd /etc/mysql

> sudo vim debian.cnf

2.使用这个文件中的用户名和密码进入mysql

mysql -u debian-sys-maint -p

然后输入文件中的password值,即可进入mysql。

3.选择mysql数据库(用户名和密码均存储在此数据库的user表中)

use mysql;

4.显示user表中的列

show fields from user;
#或者
describe user;

authentication_string这列就是密码(注:以前的版本这个字段是password,如果是password下面的操作将authentication_string替换成password即可)

5.修改密码(修改密码为:123456)

update mysql.user set authentication_string=password('123456') where user='root'

方式二: 1.在终端输入

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

2.在文件内搜索skip-external-locking,在下面添加一行:

skip-grant-tables

3.重启mysql

sudo service mysql restart

4.在终端输入命令mysql,进入mysql

5.使用命令use mysql;切换到mysql数据库

6.修改root密码

UPDATE mysql.user SET authentication_string=password('你想设置的密码') WHERE User='root' AND Host ='localhost'

7.修改字段plugin(Plugin字段标识可以用于验证用户身份的插件,如果字段为空,服务器使用内建授权验证机制验证用户身份)

UPDATE user SET plugin="mysql_native_password"

8.刷新权限,输入命令

flush privileges

9.退出mysql

quit

10.回到设置的文件内(/etc/mysql/mysql.conf.d/mysqld.cnf)内把添加的命令注释掉

参考文章: https://blog.csdn.net/skh2015java/article/details/80156278 https://blog.csdn.net/m0_37327931/article/details/83545639 http://baijiahao.baidu.com/s?id=1651436017251134186&wfr=spider&for=pc