修改mysql密码
win10安装配置修改mysql 8.0
1.安装包
2.配置文件
在Windows系统中,配置文件默认是安装目录下的 my.ini
文件,部分配置需要在初始安装时配置,大部分也可以在安装完成后进行更改。当然,极端情况下,所有的都是可以更改的。
在安装根目录下添加 my.ini
,比如我这里是:D:\Program Files\MySQL\my.ini
,写入基本配置:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Program Files\MySQL
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\MySQL\data
# 允许最大连接数
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:\Windows\System32目录下找到cmd.exe,进入在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
执行完成之后,会打印 root 用户的初始默认密码,比如:
D:\Program Files\MySQL\bin>mysqld --initialize --console
2020-04-02T06:41:34.335366Z 0 [System] [MY-013169] [Server] D:\Program Files\MySQL\bin\mysqld.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 Files\MySQL\bin\mysqld.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