PDO_MYSQL é um driver que implementa a interface PHP Data Objects (PDO) para permitir o acesso do PHP aos bancos de dados MySQL. Ao executar uma versão do PHP anterior a 7.1.16 ou PHP 7.2 anterior a 7.2.4, defina o plug-in de senha padrão do servidor MySQL 8 como mysql_native_password ou você verá erros semelhantes a O método de autenticação solicitado pelo servidor desconhecido para o cliente [caching_sha2_password] mesmo quando caching_sha2_password não é usado. Isso ocorre porque o padrão do MySQL 8 é caching_sha2_password, um plug-in que não é reconhecido pelas versões mais antigas do PHP (mysqlnd). Em vez disso, altere-o definindo . O plug-in caching_sha2_password será suportado em uma versão futura do PHP. Enquanto isso, a extensão mysql_xdevapi o suporta. Aviso Cuidado: Alguns tipos de tabelas MySQL (mecanismos de armazenamento) não suportam transações. Ao escrever código de banco de dados transacional usando um tipo de tabela que não suporta transações, o MySQL fingirá que uma transação foi iniciada com sucesso. Além disso, quaisquer consultas DDL emitidas implicarão em quaisquer transações pendentes. O driver MySQL não suporta corretamente via PDOStatement::bindParam enquanto tais parâmetros podem ser usados, eles não são atualizados (ou seja, a saída real é ignorada) As distribuições comuns do Unix incluem versões binárias do PHP que podem ser instaladas. Embora essas versões binárias sejam normalmente construídas com suporte para as extensões do MySQL, as próprias bibliotecas de extensão podem precisar ser instaladas usando um pacote adicional. Verifique a disponibilidade do gerenciador de pacotes que acompanha a distribuição escolhida. Por exemplo, no Ubuntu, o pacote instala as extensões PHP ext/mysql, ext/mysqli e PDO_MYSQL. No CentOS, o pacote também instala essas três extensões PHP. Como alternativa, você mesmo pode compilar essa extensão. Construir o PHP a partir do código-fonte permite que você especifique as extensões do MySQL que deseja usar, bem como sua escolha de biblioteca cliente para cada extensão. Ao compilar, use --with-pdo-mysql[=DIR] para instalar a extensão PDO MySQL, onde o opcional é a biblioteca base do MySQL. Mysqlnd é a biblioteca padrão. Para obter detalhes sobre como escolher uma biblioteca, consulte Escolhendo uma biblioteca MySQL. Opcionalmente, o --with-mysql-sock[=DIR] define a localização do ponteiro do soquete unix do MySQL para todas as extensões do MySQL, incluindo PDO_MYSQL. Se não for especificado, os locais padrão serão pesquisados. Opcionalmente, o --with-zlib-dir[=DIR] é usado para definir o caminho para o prefixo de instalação do libz. O suporte SSL é habilitado usando as constantes PDO_MySQL apropriadas, que é equivalente a chamar a função MySQL C API mysql_ssl_set Além disso, o SSL não pode ser habilitado com PDO::setAttribute porque a conexão já existe. Veja também a documentação do MySQL sobre ÃÂû conectando-se ao MySQL com SSL As constantes abaixo são definidas por este driver e só estarão disponíveis quando a extensão tiver sido compilada em PHP ou carregada dinamicamente em tempo de execução. Além disso, essas constantes específicas do driver só devem ser usadas se você estiver usando esse driver. O uso de atributos específicos do driver com outro driver pode resultar em comportamento inesperado. PDO::getAttribute() pode ser usado para obter o atributo para verificar o driver, se seu código puder ser executado em vários drivers. em um , o driver MySQL usará as versões em buffer da API MySQL. Se estiver escrevendo código portátil, você deve usar. Se esse atributo for definido como um, o driver MySQL usará as versões em buffer da API do MySQL. Se estiver escrevendo código portátil, você deve usar em vez disso. Exemplo #1 Forçando consultas a serem armazenadas em buffer no mysql "meu aplicativo só funciona com mysql; devo usar \$stmt->fetchAll() em vez disso"Observe que essa constante só pode ser usada na matriz ao construir um novo identificador de banco de dados. Permite restringir o carregamento de DADOS LOCAIS a arquivos localizados neste diretório designado. Disponível a partir do PHP 8.1.0. Observe que essa constante só pode ser usada na matriz ao construir um novo identificador de banco de dados. Comando a ser executado ao conectar-se ao servidor MySQL. Será reexecutado automaticamente ao reconectar. Observe que essa constante só pode ser usada na matriz ao construir um novo identificador de banco de dados. Leia as opções do arquivo de opções nomeado em vez de . Esta opção não está disponível se o mysqlnd for usado, porque o mysqlnd não lê os arquivos de configuração do mysql. Opções de leitura do grupo nomeado ou do arquivo especificado com . Esta opção não está disponível se o mysqlnd for usado, porque o mysqlnd não lê os arquivos de configuração do mysql. Tamanho máximo do buffer. O padrão é 1 MiB. Esta constante não é suportada quando compilada no mysqlnd. Retorne o número de linhas encontradas (correspondidas), não o número de linhas alteradas. O caminho do arquivo para a autoridade de certificação SSL. O caminho do arquivo para o diretório que contém os certificados SSL CA confiáveis, que são armazenados no formato PEM. O caminho do arquivo para o certificado SSL. Uma lista de uma ou mais cifras permitidas a serem usadas para criptografia SSL, em um formato compreendido pelo OpenSSL. Por exemplo: O caminho do arquivo para a chave SSL. Fornece uma maneira de desabilitar a verificação do certificado SSL do servidor. Isso existe a partir do PHP 7.0.18 e PHP 7.1.4. Desativa a execução de várias consultas em PDO::prepare() e PDO::query() quando definido como . Observe que essa constante só pode ser usada na matriz ao construir um novo identificador de banco de dados O comportamento dessas funções é afetado pelas configurações em . Para obter mais detalhes e definições dos modos PHP_INI_*, consulte o Para obter mais detalhes e definições dos modos PHP_INI_*, consulte o Onde uma definição de configuração pode ser definida Define um soquete de domínio Unix. Este valor pode ser definido em tempo de compilação se um soquete de domínio for encontrado em configure. Esta configuração ini é apenas Unix. Habilita a depuração para PDO_MYSQL. Esta configuração só está disponível quando PDO_MYSQL é compilado contra mysqlnd e no modo de depuração PDO.