UTF8 Database Conversion
create a script named cvtdbutf8.sh on your system to perform the conversion following the steps below:
[root@pbx ~]# nano cvtdbutf8.sh |
copy and paste the text below into the file
#!/usr/bin/env bash
DB=$1
(
echo 'ALTER DATABASE `'"$DB"'` CHARACTER SET utf8 COLLATE utf8_unicode_ci;'
mysql "$DB" -e "SHOW TABLES" --batch --skip-column-names \
| xargs -I{} echo 'ALTER TABLE `'{}'` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;'
) \
| mysql "$DB"
ctrl-x and Y to save
make the script executable
[root@pbx ~]# chmod +x cvtdbutf8.sh |
you can enable logging for mysqld and confirm operations if you like , remember to change it back when finished
[root@pbx ~]# nano /etc/my.cnf |
[mysqld]
bind-address = 127.0.0.1
general_log = 1 <<<<<<<< change general log value to 1
general_log_file = /var/log/mysql/mysql.log
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
if you’ve enabled logging above restart mysqld
to run the script simply pass it the database names:
followed by
results can be then be confirmed by examining the log /var/log/mysql/mysql.log
results should look similar to below …
tables for asterisk
60 Query ALTER TABLE `admin` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `ampusers` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `announcement` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `areminder` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `areminder_calls` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `areminder_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `areminder_updates` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `arimanager` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `backup` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `backup_cache` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `backup_details` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `backup_items` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `backup_server_details` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `backup_servers` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `backup_template_details` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `backup_templates` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `bria_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `broadcast_callees` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `broadcast_campaign_groups` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `broadcast_campaigns` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `broadcast_groups` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `broadcast_log` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `broadcast_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `callback` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `callerid_entries` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `calllimit` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `calllimit_usage` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `callrecording` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `callrecording_module` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `certman_cas` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `certman_certs` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `certman_csrs` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `certman_mapping` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cidlookup` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cidlookup_incoming` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `conferencespro` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `conferencespro_rooms` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `contactmanager_entry_emails` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `contactmanager_entry_images` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `contactmanager_entry_numbers` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `contactmanager_entry_speeddials` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `contactmanager_entry_userman_images` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `contactmanager_entry_websites` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `contactmanager_entry_xmpps` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `contactmanager_group_entries` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `contactmanager_groups` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cronmanager` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `custom_extensions` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cxpanel_conference_rooms` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cxpanel_email` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cxpanel_managed_items` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cxpanel_phone_number` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cxpanel_queues` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cxpanel_recording_agent` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cxpanel_server` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cxpanel_users` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `cxpanel_voicemail_agent` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `dahdi` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `dahdi_advanced` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `dahdi_advanced_modules` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `dahdi_analog` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `dahdi_configured_locations` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `dahdi_modules` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `dahdi_spans` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `dahdichandids` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `daynight` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `devices` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_alerts` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_customapp_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_customapps` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_alerts` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_customapps` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_externallines` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_logos` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_mcpages` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_networks` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_parkapps` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_phonebooks` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_ringtones` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_device_statuses` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_devices` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_extension_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_externalline_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_externallines` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_firmware` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_firmware_packages` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_general` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_lines` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_logos` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_mcpage_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_mcpages` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_network_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_networks` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_phonebook_entries` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_phonebook_entry_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_phonebooks` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_pnac_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_pnacs` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_queues` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_ringtones` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_status_entries` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_status_settings` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_statuses` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digium_phones_voicemail_translations` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digiumaddoninstaller_addons` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digiumaddoninstaller_addons_downloads` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digiumaddoninstaller_downloads` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digiumaddoninstaller_downloads_ast_versions` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digiumaddoninstaller_downloads_bits` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digiumaddoninstaller_registers` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `digiumaddoninstaller_system` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `directory_details` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `directory_entries` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `disa` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_basefiles` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_brand` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_buttons` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_customExt` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_ext_buttons` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_extensions` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_firmware` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_global` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_ignoreMac` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_images` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_models` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_ringtones` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_templates` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_timezones` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Query ALTER TABLE `endpoint_xml` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
60 Quer