- 修改MariaDB的配置文件:/etc/mysql/mariadb.conf.d/50-server.cnf
#bind-address = 127.0.0.1
改为
bind-address = 0.0.0.0
- 配置允许访问的用户,采用授权的方式给用户权限
mysql -uroot -p
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'
@
'%'
IDENTIFIED
BY
'123456'
WITH
GRANT
OPTION;
flush
privileges
;
- 修改密码
mariadb 执行update user set password=PASSWORD('') where user='root';
报错:ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or def...
在 MariaDB 中,如果你遇到了错误
ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
,这通常意味着mysql.user
表或视图有问题,或者你可能使用了不兼容的 SQL 语法。从 MariaDB 10.2 开始,
PASSWORD()
函数已被废弃,并在 MariaDB 10.4 中完全移除。因此,如果你正在使用 MariaDB 10.4 或更高版本,你应该使用新的密码认证方法。要更新
root
用户的密码,你可以使用以下命令:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
但请注意,由于
PASSWORD()
函数已被移除,你应该使用:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
或者,如果你需要兼容旧版本的语法,可以尝试:
UPDATE mysql.user SET password=CONCAT('*', UPPER(SHA1('新密码'))) WHERE User='root'; FLUSH PRIVILEGES;
请确保在执行任何操作之前备份相关的数据,以防万一出现数据丢失或损坏的情况。同时,确保你有足够的权限来执行这些操作,通常需要以
root
用户身份登录。如果你在一个严格的生产环境中操作,最好在执行之前在一个测试环境中验证这些命令。
03-20
993
01-02
2412