Atualizando da versão 3.20 para 3.21
Se você estiver executando uma versão mais antiga que a Versão 3.20.28 e deseja mudar para a versão 3.21 você deve fazer o seguinte:
Inicie o servidor mysqld
versão 3.21 com a opção --old-protocol
para usá-lo com clientes de uma distribuição da versão 3.20 Neste caso, a nova função cliente mysql_errno()
não irá retornar erro do servidor, somente CR_UNKNOWN_ERROR
(mas isto funciona para erros de clientes) e o servidor usa a forma função password()
anterior a 3.21 para verificação, ao invés do novo método.
Se você NÃO estiver usando a opção --old-protocol
para mysqld
, você precisará fazer as seguir alterações:
- Todo o código cliente deve ser recompilado. Se você usa o ODBC, deve obter o novo driver MyODBC 2.x.
- O script
scripts/add_long_password
deve ser executado para converter o campoPassword
na tabelamysql.user
paraCHAR(16)
. - Todas as senhas devem ser reatribuidas na tabela
mysql.user
(para obter 62-bits no lugar de senhas 31-bits). - O formato das tabelas não foi alterado, então não é preciso converter nenhuma tabela.
A versão do MariaDB 3.20.28 e superiores podem manipular o novo formato da tabela de usuários
sem afetar os clientes. Se você tem uma versão do MariaDB mais nova que 3.20.28, senhas não irão mais funcionar se você converter a tabela de usuaios
. Por segurança, você primeiro deve fazer uma atualização para a versão 3.20.28, pelo menos, e então atualizar para a versão 3.21.
O novo código cliente trabalha com um servidor mysqld
3.20.x, portanto se houver problemas com 3.21.x você deve usar o antigo servidor 3.20.x sem a necessidade de recompilar os clientes novamente.
Se você não está usando a opção --old-protocol
para o mysqld
, antigos clientes não poderão se conectar e exibirão a seguinte mensagem de erro:
ERROR: Protocol mismatch. Server Version = 10 Client Version = 9
A nova interface PERL DBI
/DBD
também suporta a antiga interface mysqlperl
. A única alteração que deve ser feita se você usa o mysqlperl
é alterar os argumentos para a função connect()
. Os novos argumentos são: host
, database
, user
, password
(note que os argumentos user
e password
foram alterados de lugar). Leia "A interface DBI
".
As seguintes alterações podem afetar consultas em antigas aplicações:
HAVING
deve ser especificada antes de qualquer cláusulaORDER BY
.- Os parâmetros para
LOCATE()
foram trocados. - Agora existem algumas palavras reservadasi novas. As mais notáveis são
DATE
TIME
eTIMESTAMP
.