Como adicionar e alterar MySQL senhas e privilégios

Senhas no MySQL não são ajustados na pedra. Você pode adicionar ou alterar uma senha de uma conta existente. Como muitos procedimentos, você pode adicionar ou alterar as senhas com uma instrução SQL, como este:

Senha definida para nome de usuário@hostname = PASSWORD ( 'senha')

A conta está definido para senha para a conta username @ hostname. Se a conta actualmente com uma senha, a senha é alterada. Você não precisa especificar o PARA cláusula. Se não o fizer, a senha é definida para a conta que você está usando atualmente.

Você pode remover uma senha, enviando o CONFIGURAR SENHA declaração com uma senha em branco:

Senha definida para nome de usuário@hostname = PASSWORD ( '')

Quando você faz alterações em senhas, é necessário atualizar os privilégios de modo que o MySQL vê a mudança. Isto é conseguido com o FLUSH PRIVILEGES declaração:

FLUSH PRIVILEGES

Cada conta tem um conjunto de privilégios que especifica o que o usuário da conta pode e não pode fazer. Você pode definir os privilégios quando você cria uma conta, mas você também pode alterar os privilégios de uma conta a qualquer momento.

Você pode ver os privilégios atuais para uma conta enviando a seguinte declaração:

MOSTRAR subsídio em accountname @ hostname

A saída é uma CONCEDER declaração de que iria criar a conta corrente. A saída mostra todos os privilégios atuais. Se você não incluir o EM cláusula, você vê os privilégios atuais para a conta que emitiu o SHOW GRANTS consulta.

Você pode alterar os privilégios de uma conta com o CONCEDER declaração, que tem o seguinte formato geral:

privilégio GRANT (colunas) ON tablenameTO accountname @ hostname identificado por 'password'

Como outras alterações relacionadas com o privilégio, você precisa atualizar os privilégios depois de fazer alterações usando FLUSH PRIVILEGES.

Você também pode criar uma nova conta ou alterar uma senha com o CONCEDER declaração. Você precisa preencher as seguintes informações:

  • privilégio (colunas): Você deve listar pelo menos um privilégio. Você pode limitar cada privilégio de uma ou mais colunas, listando o nome da coluna entre parênteses após o privilégio. Se você não listar um nome de coluna, o privilégio é concedido em todas as colunas na tabela (s). Você pode listar tantos privilégios e colunas, conforme necessário, separados por vírgulas. Por exemplo, uma CONCEDER declaração pode começar com este:

    GRANT selecionar (nome, sobrenome), update, insert (data de nascimento) ...
  • tablename: O nome (ou nomes) da mesa (s) em que é concedido o privilégio. Você precisa incluir pelo menos uma tabela. Você pode listar várias mesas, separados por vírgulas. Os possíveis valores para tablename estamos

  • tablename: Toda a tabela chamada tablename no banco de dados atual. Você pode usar um asterisco (*) Para significar todas as tabelas no banco de dados atual. Se você usar um asterisco e nenhum banco de dados atual é selecionado, o privilégio é concedido a todas as tabelas em todos os bancos de dados.

  • databasename.tablename: Toda a tabela chamada tablename dentro nome do banco de dados. Você pode usar um asterisco (*) Para o nome do banco de dados ou o nome da tabela para significar todos os bancos de dados ou tabelas. utilização *. * concede o privilégio em todas as tabelas em todos os bancos de dados.

  • accountname @ hostname: Se a conta já existe, que é dado aos privilégios indicados. Se a conta não existir, ele é adicionado. A conta é identificado pela nome da conta e a hostname como um par. Se uma conta existe com o nome de conta especificado, mas um nome diferente, a conta existente não é changed- um novo é criado.

  • senha: A senha que você está adicionando ou mudando. A senha não é necessária. Se você não quiser adicionar ou alterar uma senha para esta conta, deixar de fora a frase IDENTIFICADOS PELO 'password'.

  • Por exemplo, a CONCEDER declaração de que adiciona uma nova conta para uso nos scripts PHP para um banco de dados catálogo on-line chamado ProductCatalog pode ser

    GRANT selecionar ON ProductCatalog. * TO phpuser @ localhostIDENTIFIED BY 'A41! 14a!'

    Para remover privilégios, use o REVOGAR declaração. O formato geral é

    Revogar o privilégio (colunas) ON tablenameFROM accountname @ hostname

    Você precisa preencher as informações apropriadas.

    Você pode remover todos os privilégios para uma conta com o seguinte REVOGAR declaração:

    Revogar todos os ON *. * FROM nome da conta@hostname

    menu