Como alterar o procedimento armazenado em um banco de dados MySQL usando o prompt de comando do Linux?

1

Eu quero alterar o procedimento armazenado na minha máquina do servidor. Estou carregando os códigos via prompt de comando SSH Linux, eu preciso alterar um procedimento armazenado existente no meu servidor. Eu não tenho acesso ao c-panel ou phpMyAdmin. Eu tenho que atualizá-lo através de um prompt de comando.

procedimento armazenado

DELIMITER $$

USE 'dbname'$$

DROP PROCEDURE IF EXISTS 'add_data'$$

CREATE DEFINER='root'@'localhost' PROCEDURE 'add_data'(
    f_id INT(11), 
    f_guild_parent_id INT(11),OUT lastid INT
    )
BEGIN
     INSERT INTO tablename
         (
         id,
         character_detail_id,
         media_id,
         )
         VALUES 
         ( 
         f_id,
         f_character_detail_id,
         f_media_id,
         NOW() ,
         NOW() 
          );
          SET lastid = LAST_INSERT_ID();
    END$$

DELIMITER ;

Eu preciso do comando para executar isso. Alguém pode me dar o comando com um exemplo?

    
por user2086641 13.02.2014 / 21:11

1 resposta

1

Se você tiver acesso ao console para o seu banco de dados, você pode carregar este arquivo através da linha de comando da seguinte forma:

$ mysql < /path/to/text_file.sql

Onde text_file é o nome do arquivo acima. Se você já estiver no aviso mysql> , também poderá source the text_file usando um desses métodos:

mysql> source /path/to/text_file.sql

-or-

mysql> \. /path/to/text_file.sql

Você pode precisar passar um nome de usuário + senha para mysql para "conectar" ao banco de dados. Isso pode ser feito da seguinte forma:

$ mysql -u <user> -p < /path/to/txt_file.sql

Você será solicitado a fornecer a senha quando executar o comando acima, depois de fornecê-la, pressione Enter e seu arquivo de comando .sql deverá ser executado.

Referências

por 13.02.2014 / 21:18