First of all, don't just take my word for it! Test my suggestion out with this:
select CONCAT('alter table ',TABLE_SCHEMA,'.',TABLE_NAME,' charset=utf8;') from information_schema.TABLES WHERE TABLE_SCHEMA != 'information_schema' limit 10; select CONCAT('alter table ',TABLE_SCHEMA,'.',TABLE_NAME,' alter column ',COLUMN_NAME,' charset=utf8;') from information_schema.COLUMNS WHERE TABLE_SCHEMA != 'information_schema' limit 10;
If you feel good with the outcome of that, remove the limit clauses and save the output to an SQL script or, get fancy and pipe the output directly to mysql similar to what I demonstrate here. That would look like this:
mysql -B -N --host=prod-db1 --user=admin --password=secret -e "select CONCAT('alter table ',TABLE_SCHEMA,'.',TABLE_NAME,' charset=utf8;') from information_schema.TABLES WHERE TABLE_SCHEMA != 'information_schema'; select CONCAT('alter table ',TABLE_SCHEMA,'.',TABLE_NAME,' alter column ',COLUMN_NAME,' charset=utf8;') from information_schema.COLUMNS WHERE TABLE_SCHEMA != 'information_schema';" | mysql --host=prod-db1 --user=admin --password=secret
When you start thinking about using valid SQL to generate valid SQL, it changes the whole game. You will be amazed by how many uses you find for it.
No, there isn't (I just checked 1 hour ago). You can comment the bind-address in my.cnf:
Note: « 1 hour ago » is now more than 10 years ago.
#skip-networking
#bind-address = 127.0.0.1
If you want only 2 IPs, you will then have to use a firewall.
For MySql version 8.0.13 and above, you can specify a list of comma-separated IP addresses.
bind-address = 10.0.0.1,10.0.1.1,10.0.2.1
Relevant MySql documentation.
Remember to restart your MySQL instance after changing the config file.
Best Answer
See from the official MySQL documentation: section Data Type Storage Requirements has it all.