我刚刚下载了WAMP。我想使用 MySQL 控制台为 MySQL 根用户配置密码。以前未设置密码。
以下是输入
mysql-> use mysql
Database changed
mysql-> UPDATE user
-> SET Password=PASSWORD<'elephant7'>
-> WHERE user='root';
错误 1064 (42000): SQL 语法有错误;请检查 与您的 MySQL 服务器版本相对应的正确手册 在第 3 行的"WHERE user='root"附近使用的语法
我正在使用MySQL 8,以上都不适合我。
这是我必须做的:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
在MySQL 8.0.15(可能也更早)上,PASSWORD()
函数不再工作,因此您必须执行以下操作:
确保您已首先停止MySQL(转到:"系统偏好设置">>"MySQL"并停止MySQL)。
使用权限绕过在安全模式下运行服务器:
sudo mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET authentication_string=null WHERE User='root';
FLUSH PRIVILEGES;
exit;
然后
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';
最后,再次启动MySQL。
受到本期 GitHub 中@OlatunjiYso启发。
您可以使用:
SET PASSWORD FOR 'root' = PASSWORD('elephant7');
或者,在最新版本中:
SET PASSWORD FOR root = 'elephant7'
您还可以使用:
UPDATE user SET password=password('elephant7') WHERE user='root';
但是在Mysql 5.7中,字段密码不再存在,您必须使用:
UPDATE user SET authentication_string=password('elephant7') WHERE user='root';
问候
我在设置密码时也有问题。并在以下位置找到答案官方网站
SET PASSWORD FOR 'root'@'localhost' = 'your_password';
这是唯一对我有用的命令。(我从M 8.0文档中得到它)
ALTER USER 'root'@'*' IDENTIFIED WITH mysql_native_password BY 'YOURPASSWORD';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOURPASSWORD';
经过数小时的反复试验,以下命令(在此处找到的命令之后修改)在 Ubuntu 的 WSL 安装上为我工作:
sudo service mysql stop
sudo mysqld --skip-grant-tables &
mysql -u root mysql
UPDATE mysql.user SET authentication_string=null WHERE User='root';
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password_here';
flush privileges;
exit;
试试这个。它可能会有所帮助:
mysql> UPDATE mysql.user SET Password = PASSWORD('pwd') WHERE User='root';
我希望它有所帮助。
如果您有错误 1064 (42000) 或错误 1046 (3D000):Mysql 5.7 中未选择数据库,则必须指定用户表的位置,位置为 mysql.table_name 然后代码将起作用。
sudo mysql -u root -p
UPDATE mysql.user SET authentication_string=password('elephant7') WHERE user='root';
试试这个:
UPDATE mysql.user SET password=password("elephant7") where user="root"
mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-password-here';
尝试一次,它对我有用。
从 mysql 文档版本: 8.0.18:
将创建一个超级用户帐户'root'@'localhost'
。设置并存储超级用户的密码在错误日志文件中。若要显示它,请使用以下命令: shell> sudo grep 'temporary password' /var/log/mysqld.log
通过使用生成的临时密码登录,尽快更改 root 密码并为超级用户帐户设置自定义密码:
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
在使用 mysql 版本 8.0+ 时,使用以下语法在使用 --skip-grant-tables 选项启动 mysql 守护程序后更新 root 密码
UPDATE user SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_new_password')
对我来说非常有效。
MySQL>使用MySQL;mysql> ALTER USER 'root'@'localhost' 由 'my-password-here' 标识;
官方文档的 mysql 8.0.23
更改用户root@localhost设置 ='New_Password';
适用于 Windows 10 环境。
- 单击启动管理器。
- 选择"MySQL"并将其打开。
- 编写以下代码,然后按回车键
为"根"=密码("大象7")设置密码;
对于 mysql 8.0.28
-
[thor@john ~]$ 须藤 -i
-
[root@app01 ~]# mysql -u 根 -p
-
mysql> ALTER USER 'root'@'localhost' 由 'P@ssw0rd123' 标识;
-
MYSQL>刷新权限;
创建表 cas_num_folio_envio_finanzas
( next_not_cached_value
bigint(21) 不为空, minimum_value
bigint(21) 不为空, maximum_value
bigint(21) 不为空, start_value
bigint(21) 非空注释"创建序列时的起始值或使用 RESTART 时的值", increment
bigint(21) 不为空的注释"增量值", cache_size
bigint(21) 无符号不为空, cycle_option
tinyint(1) 无符号 不为空注释 "如果不允许循环,则为 0,如果序列在传递maximum_value时应开始新循环,则为 1", cycle_count
BIGINT(21) 非空注释"已完成多少个周期") 引擎=InnoDB 序列=1;