How to repair crashed mysql table in vicidial

Topic : Repairing crashed MySQL table in vicidial

    In this blogpost i have provided the mysql repair command to repair and optimize the crashed tables in vicidial mysql or maridb databases, which is crashed due to overload or improper shutdown of servers.

vicidial mysql repair command

Overview: Vicidial mysql repair and optimization

     Vicidial database often crashed due to various reasons ,which leads to improper dialing, no leads in hopper issues, agent session timeout etc. Thanks to mysqlcheck command which is used to repair and optimize the mysql tables.

    you may notice below error while logging into admin or agent portal ,which alerts the mysql database has been crashed

"Can't connect to local MYSQL server through socket- mysql.sock"

Root cause for Vicidial Database Corrupt

Below are the root causes of MYSQL database crash or corrupt.

1. Server Over Load
2. Server Improper Shutdown
3. Server Low Disk Space

Impact of Vicidial mysql crash/corrupt

1. Agent-your session has been disabled
2. Autodial calls not landing to Agents.
3. realtime report not updating properly
4. agent error
5. vicidail Time sync error

Vicidial Mysql database repair command

Using the mysqlcheck command you can repair and optimize the crashed vicidial mysql database and tables using the labels like --check , --auto-repair and --optimize, below i have listed the mysql repair command for various vicidial platforms.  

For Latest Vicibox run the below commands
mysqlcheck -p --check asterisk
mysqlcheck -p --auto-repair asterisk
mysqlcheck -p --optimize asterisk

If the above command failed to Repair a particular table, identify the corrupted table and run the below command.

This method is used to force repair the crashed mysql tables ,which may leads to data loss.

mysql -p
mysql>use asterisk
mysql>REPAIR table table_name USE_FRM;
eg: REPAIR table vicidial_live_agents USE_FRM;

Note: by default mysql root password is not set in vicibox, that is just press enter after mysql -p, if not working use mysql -ucront -p with password 1234

For Goautodial/ Vicidial scratch installs run below command

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
note: if you using goautodial then the password will be goautodial, if not working then use below command, which uses default vicidial mysql credentials

mysqlcheck -u cron -p --auto-repair --check --optimize --all-databases
password will be : 1234
note: the default password of vicidial mysql logins.

Note:**you might receive below error while running above command

Error:: mysqlcheck doesn't support multiple contradicting commands.

Run the below commands
mysqlcheck -u root -p --auto-repair --all-databases
mysqlcheck -u root -p --optimize --all-databases

      Sample mysql check command output

Error : Incorrect file format 'vicidial_live_agents'
error : Corrupt
asterisk.vicidial_manager
Error : Incorrect file format 'vicidial_manager'
error : Corrupt

Conclusion:

To avoid the Database Crash , avoid overload in server limit the agent login's and dial limit as per server spec , use proper UPS to avoid improper server shutdown,
use the linux command shutdown -h now to shutdown the server instead of pressing power button directly.
For professional support reach me at skype or telegram : id- striker24x7

Next Post Previous Post
4 Comments
  • Anonymous
    Anonymous November 17, 2020 at 10:11 PM

    mysqlcheck -u cron -p --auto-repair --all-databases
    pass:1234
    mysqlcheck -u cron -p --check --all-databases
    pass:1234
    mysqlcheck -u cron -p --optimize --all-databases
    pass:1234
    /usr/share/astguiclient/AST_DB_optimize.pl --debug

  • AnilKumar
    AnilKumar December 11, 2020 at 12:15 PM

    Hello Sir, As per your documentation, i have installed vicidial with asterisk 13 in centos . Sir, I am unable to get full administrator details and not able to access php my admin too sir. I searched your blog related maria DB commands, I have not found that stuff in your blog sir. Any solution for this sir?

  • Unknown
    Unknown June 19, 2021 at 9:27 AM

    mysqlcheck -u cron -p --auto-repair --check --optimize --all-databases

  • rheymzkilove
    rheymzkilove February 18, 2022 at 9:51 PM

    working thanks

Add Comment
comment url