1. Criação e autorização do usuário
No MySQL8, as instruções de criação e autorização do usuário devem ser executadas separadamente e as versões anteriores podem ser executadas juntas.
Versão do MySQL8
grant all privileges on *.* to 'lijin'@'%' identified by 'Lijin@2022';
create user 'lijin'@'%' identified by 'Lijin@2022';
grant all privileges on *.* to 'lijin'@'%';
versão MySQL5.7
grant all privileges on *.* to 'lijin'@'%' identified by 'Lijin@2022';
2. Atualização do plug-in de autenticação
O plug-in de autenticação padrão no MySQL 8.0 é caching_sha2_password, que substitui o mysql_native_password anterior.
show variables like 'default_authentication%';
versão 5.7
8 versão
select user, host,plugin from mysql.user;
O problema disso é que se o cliente não estiver atualizado, ele não conseguirá se conectar! !
Claro, você pode encontrar o arquivo my.cnf no servidor MySQL e modificar os parâmetros relevantes (mas terá efeito após reiniciar o MySQL)
Caso não haja como reiniciar o serviço, existe outra forma dinâmica:
alter user 'lijin'@'%' identified with mysql_native_password by 'Lijin@2022';
select host,user from mysql.user;
Também pode ser acessado usando o antigo Navicat para MySQL
3. Gerenciamento de senha
O MySQL 8.0 passou a permitir restrições na reutilização de senhas anteriores (ao alterar senhas).
E também adicionou a função de gerenciamento de modificação de senha
show variables like 'password%';
Modificar política (nível global)
set persist password_history=3; --修改密码不能和最近3次一致
Modificar política (nível de usuário)
alter user 'lijin'@'%' password history 3;
select user, host,Password_reuse_history from mysql.user;
Use senhas repetidas para modificar senhas de usuário (especificar usuários lijin)
alter user 'lijin'@'%' identified by 'Lijin@2022';
Se alterarmos o parâmetro global para 0, o usuário root poderá alterar a senha repetidamente
alter user 'root'@'localhost' identified by '789456';
password_reuse_interval é limitado de acordo com o número de dias (repetição não é permitida)
password_require_current Se deve verificar a senha antiga (desativada sem verificação, na verificação) (para usuários não root)
set persist password_require_current=on;