Skip to main content

How to repair crashed mysql table in vicidial

 

Overview: Vicidial mysql repair command

In this blog post i have give the commands to repair the corrupted database in vicidial based servers like vicibox goautodial scratch vicidial installation
VICIdial is an enterprise class, open source, contact center suite in use by many large call centers around the world. VICIdial has a full featured predictive dialer. It is capable of inbound, outbound, and blended phone call handling.

Vicidial software uses below software's for its operation.

 

mysql/mariadb - database

Apache - webserver

Asterisk - Telephony

 

Root cause for Vicidial Database Corrupt

Often Vicidial Database will be crashed due to many reasons which i have listed below.

1. Server Over Load
2. Server Improper Shutdown
3. Server Low Disk Space
Impact of Database corrupt in vicidial


 
Impact in Vicidial while db/mysql corrupted

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

Vicidial database repair command

    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.

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.

  you might receive below error while running above command  

Error:: mysqlcheck doesnt'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.

 

Comments

Popular posts from this blog

Install OpenVPN 2.4 and 2.6 on Alma / Rocky Linux

 To install OpenVPN on AlmaLinux 9.5, you can follow these steps: 1. Update the System : Before installing any software, it's a good idea to update your system: sudo dnf update -y 2. Install EPEL Repository : OpenVPN is available in the EPEL (Extra Packages for Enterprise Linux) repository. First, install the EPEL repository: sudo dnf install epel-release -y 3. Install OpenVPN : After enabling the EPEL repository, install OpenVPN: sudo dnf install openvpn -y 4. Install NetworkManager (Optional) : If you are using NetworkManager for managing network connections, you can install the OpenVPN plugin for NetworkManager: sudo dnf install NetworkManager-openvpn -y 5. Configure OpenVPN : Once installed, you need to configure OpenVPN by copying your .ovpn configuration file to the /etc/openvpn/ directory: sudo cp /path/to/your/config.ovpn /etc/openvpn/ 6. Start OpenVPN : You can start OpenVPN by specifying the configuration file directly: sudo openvpn --config /etc...

Vicidial Scratch installation Alma -9/10

Step 1 – Download the dependencies   hostnamectl set-hostname xxxxxx.xxxxx.xxx ### Use YOUR SubDomain vi /etc/hosts ##Change domain name for actual server ip (xxx.xxx.xxx.xxx   complete domain name    subdomain only) timedatectl set-timezone Asia/Kolkata yum check-update yum update -y yum -y install epel-release yum update -y yum install git -y yum install -y kernel* sudo dnf install kernel-devel-$(uname -r) -y # Install english language pack dnf install -y glibc-langpack-en # Configure new locale. This basically just edits /etc/locale.conf localectl set-locale en_US.UTF-8 #Disable SELINUX sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config     reboot Step 2 – Run the Script cd /usr/src/ git clone https://github.com/manish23k/vicidial-install-scripts cd vicidial-install-scripts ####For PHP 7.4 use this script. chmod +x alma-rocky9-ast16.sh ./alma-rocky9-ast16.sh Or the Asterisk 18 version: chmod +x alma-rocky9-ast18.sh ./alma-rock...

How to Format and Mount a New 1TB HDD

🖥 How to Format and Mount a New 1TB HDD to /var/www/recordings on Linux If you’ve added a new HDD to your Linux server and want to use it as a dedicated storage location — for example, to store Asterisk or web server recordings — you’ll need to partition, format, mount, and configure it to auto-mount at boot . In this guide, we’ll walk through the process of wiping the drive (careful — data will be lost!), creating a single ext4 partition , and mounting it permanently. Step 1: Identify Your New Disk Run: lsblk Example output: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8 : 0 0 931.5 G 0 disk ├─sda1 8 : 1 0 50 M 0 part ├─sda2 8 : 2 0 540.8 G 0 part └─sda3 8 : 3 0 390.6 G 0 part In our case, /dev/sda is the new 1TB disk. ⚠ Warning: Double-check you’ve picked the right disk! Formatting the wrong one will destroy data. Step 2: Unmount Any Mounted Partitions sudo umount /dev/sda* 2>/dev/null Step 3: Wipe Old Partitions and Create One ...