设置mysql初始密码
常规设置密码
一般mysql的root默认密码为空,如果之前没有设置过root密码,我们可以使用空密码登录后设置密码。
1、启动mysql,centos中service start mysql
,windows中net start mysql
2、mysql -u root
,进入mysql控制台
3、执行修改密码命令
1 | mysql> use mysql; |
4、重启mysql服务service mysqld restart
5、测试登录mysql -u root -p
mysqladmin
也可以使用mysqladmin命令来修改root密码。
1、启动mysql
2、重置密码mysqladmin -u root -p password voidking
mysql8设置密码
1 | alter user 'root'@'localhost' identified with mysql_native_password by 'voidking'; |
mysql忘记密码
1、kill掉系统里的mysql进程
2、以不检查权限的方式启动mysql:mysqld_safe --skip-grant-tables &
3、用空密码登录mysqlmysql -u root
4、修改root用户的密码
1 | mysql> update mysql.user set password=password('voidking') where user='root'; |
5、重新启动mysql
1 | ps -e | grep mysql |
6、测试登录mysqlmysql -u root -p
,回车后输入新设置的密码“voidking”即可。
空密码无法登录
问题描述
登录mysql,mysql -u root -p
,两次回车,结果提示,“ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password:NO)”。
解决办法
1、停止mysql服务,service mysqld stop
。
2、进入/usr/local/mysql/bin文件夹,启用安全模式,./mysqld_safe --skip-grant-tables &
。
3、使用root用户登录mysql,mysql -u root
。
4、修改root用户密码:
1 | mysql> use mysql; |
如果想设置密码为空,那么:
1 | mysql> grant all privileges on *.* to root@localhost identified by '' with grant option; |
确认结果:
1 | mysql> select host, user from user; |
5、启动mysql服务:
1 | ps -e | grep mysql |
6、登录mysql,mysql -u root -p
,回车后输入新设置的密码“voidking”即可。
允许远程访问
1、关闭防火墙systemctl stop firewalld.service
或者开放端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
,firewall-cmd --reload
2、登录mysql控制台,然后依次输入:mysql> use mysql;
mysql> grant all privileges on *.* to 'root'@'%' identified by 'voidking' with grant option;