Prefácio
Awkward: access denied for user 'root'@'localhost' using password yes
Às vezes, ao conectar dados do MySQL, uma mensagem de erro "access denied for user 'root'@'localhost' using password yes" será relatado. Não se confunda quando vir esse erro. O motivo do erro é que o nome de usuário ou senha acessada pelo banco de dados está incorreto. Neste momento, geralmente é dividido nas duas situações a seguir, e falaremos sobre a solução.
1. Xinan MySQL não definiu uma senha. Nesse caso, você precisa adicionar uma senha. Como adicioná -lo?
1. Use o usuário root para fazer login no MySQL com uma senha vazia
Raiz Mysql -u
2. Modifique a senha do usuário root:
mysql> atualizar nome do banco de dados Definir senha = senha ('nova senha') onde user = 'root'mysql> descarga privilégios; mysql> desistir3. Reinicie o MySQL e você pode fazer login com sua nova senha.
2. Não o uso há muito tempo, esqueça minha senha
1. Abra o DOS e entre no diretório do bin sob MySQL: i: D:/Development/mysql-5.5.29-nx64/bin
2. Pare o serviço mySQL, stop mysql
3. Entre após d:/development/mysql-5.5.29-nx64/bin:
mysqld--defaults-file = "d: /development/mysql-5.5.29-nx64/bin/my.ini"--console-skip-grant-table
4. Reabrir uma janela do DOS e entrar após d: /development/mysql-5.5.29-nx64/bin: mysql -root -p
5. Promot a inserir a senha, digite a senha após a entrada e digite mysql>
6. Entre em MySql>:
mysql> atualizar nome do banco de dados Definir senha = senha ('nova senha') onde user = 'root'mysql> descarga privilégios; mysql> desistirNota: Se houver vários bancos de dados, você poderá atualizá -los várias vezes.
Configurando o MySQL através de arquivos de propriedades
1. Maneiras comuns de conectar dados
2. Configuração e leitura de propriedades
1. Usuários de arquivo de configuração.properties
jdbc.drivers = com.mysql.jdbc.driverjdbc.url = jdbc: mysql: // localhost: 3306/databasenamejdbc.username = rootjdbc.password = uppassword
2. Leia o arquivo de atributo
(1) criar um objeto de propriedades;
Propriedades Propriedades = new Properties ();
Esta etapa também pode ser feita: Crie uma classe que herde propriedades e obtenha o objeto no modo Singleton.
(2) Use o método getResourceasStream () do objeto de classe para ler o arquivo de propriedade especificado no fluxo de entrada e usar o método load () na classe Properties para ler a lista de propriedades (par de chave/value) do fluxo de entrada;
Private String Resource = "Users.Properties"; // Se o nome do arquivo de configuração for usuários.propertiesInputStream em = getClass (). getResourceasStream (Resource); Properties.load (in);
(3) Ao usar a conexão do banco de dados, use o método getProperty () na classe Properties para obter o valor do valor através da chave, realizando assim a operação de conexão do banco de dados.
Drivers de string = props.getProperty ("jdbc.drivers"); string url = props.getProperty ("jdbc.url"); string userName = props.getProperty ("jdbc.username"); string senha = props.getProperty "Jdbc.password") // retorna uma instância da instância da instância da instituição da instituição da instituição da classe (JDBC.PRESSTEN;); DriverManager.getConnection (URL, nome de usuário, senha);Pool de conexão MySQL
1. Por que usar fontes de dados e pools de conexão
Os aplicativos precisam se conectar frequentemente ao banco de dados. Se eles se conectarem ao banco de dados toda vez que operam e fecharem, o desempenho será definitivamente limitado. Portanto, você deve encontrar uma maneira de reutilizar a conexão do banco de dados. Use um pool de conexão para obter o objetivo de multiplexação de conexões de banco de dados.
2. Conceito do pool de conexão
O pool de conexão é usado para gerenciar objetos de conexão. O pool de conexão pode obter conexões da fonte de dados. Pode haver vários objetos de conexão de banco de dados no pool de conexões, que podem ser reutilizados. Quando um aplicativo precisa se conectar, ele se aplica ao pool de conexões. Se houver conexões gratuitas no pool de conexões, ele será atribuído ao aplicativo. Caso contrário, pode precisar esperar na fila de espera.
3. Configuração do pool de conexão MySQL
1. Copie o pacote de driver do banco de dados e o pacote JSTL JAR para %catalina_home %/lib.
2. Modifique o arquivo %catalina_home %/conf/server.xml e adicione -o no nó <dost>:
<!-AppName O nome do projeto DocBase deve ser preciso e o símbolo deve ser substituído por &-!> <contexto path = "/AppName" docbase = "AppName/webroot" auth = "container"> <nome do recurso "JDBC/mySqlds" scope = "shareable" type = "javax.sql.data url = "jdbc: mysql: // localhost: 3306/kqxt? useUnicode = true & caracterEncoding = utf-8" driverclassName = "com.mysql.jdbc.driver" userName = "root" = "root"
3. Modifique o web.xml e adicione o seguinte conteúdo no nó <Web-App>
<Source-ref> <cription> Exemplo MySQL DataSource </cription> <s-ref-name> mysqlds </s-ref-name> <ser-type> javax.sql.dataSource </restype> <ser-Auth> container </resmated> </strece-ref>
4. Obtenha a conexão do banco de dados no código
// preste atenção ao nome do pacote importado importar java.sql.connection; importar javax.naming.context; importar javax.naming.initialContext; importar javax.sql.dataSource; classe public dbutil {pública conexão estática getConnection () Throws Exception {contexto do contexto = novo // Obtenha o DataSource DataSource DS = (DataSource) context.lookup ("Java: Comp/Env/JDBC/MySqlds"); // Obtenha a conexão do banco de dados Connection Conn = ds.getConnection (); if (Conn! = NULL &&! Conn.IdClosed ()) {return Conn; } else {return null; }}}Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.