The default character set for MySQL installed is latin1, in order to change its character set to user-required (such as UTF8), it must change its relevant configuration file, because the Linux under the default installation directory of MySQL under different files; not in the same directory as Windows, Just modify the My.ini file, and then it will take effect; So let's look at Linux MySQL database files, configuration files and command files in separate directories:
1, the database directory, the database files that are created in this directory
/var/lib/mysql/
2. Configuration file (Mysql.server command and configuration file location)
/usr/share/mysql
3, related commands (such as MySQL mysqladmin, etc.)
/usr/bin
4. startup script (e.g. MySQL startup command)
/etc/rc.d/init.d/
Viewing the default character set
#mysql-U root-p
# (Enter password)
Mysql> Show variables like ' character_set% ';
+--------------------------+----------------------------+
| variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | Latin1 |
| character_set_connection | Latin1 |
| Character_set_database | Latin1 |
| Character_set_filesystem | binary |
| Character_set_results | Latin1 |
| Character_set_server | Latin1 |
| Character_set_system | UTF8 |
| Character_sets_dir | /usr/share/mysql/charsets/|
+--------------------------+----------------------------+
To modify a character set:
1. Find out if there are my.cnf files in the/etc directory;
#ls-L | grep my.cnf (Find out if a my.cnf file exists in/etc)
2. If there is no need to copy from/usr/share/mysql, one to/etc, there are five suffix. cnf files in the/usr/share/mysql directory, respectively my-huge.cnf MY-INNODB-HEAVY-4G.CNF MY-LARGE.CNF my-medium.cnf my-small.cnf, from which I randomly copy one to/etc directory and change it to my.cnf file, I chose MY-MEDIUM.CNF:
#cp/usr/share/mysql/my-medium.cnf/etc/my.cnf
3. Modify the My.cnf file, add Default-character-set=utf8 ([client] [mysqld] [MySQL] in three places in the file.
#vi/etc/my.cnf
The changes are as follows: (red for added parts)
[Client]
#password = Your_password
Port = 3306
Socket =/var/lib/mysql/mysql.sock
Default-character-set=utf8 (verified as if this step does not have to be set to achieve the effect)
[Mysqld]
Port = 3306
Socket =/var/lib/mysql/mysql.sock
Skip-locking
Key_buffer = 16M
Max_allowed_packet = 1M
Table_cache = 64
Sort_buffer_size = 512K
Net_buffer_length = 8K
Read_buffer_size = 256K
Read_rnd_buffer_size = 512K
Myisam_sort_buffer_size = 8M
Default-character-set=utf8
init_connect= ' SET NAMES UTF8 '
[MySQL]
No-auto-rehash
Default-character-set=utf8
Save exit;
4. Restart the MySQL server to make the contents of its settings effective
#/etc/init.d/mysql restart
5. Re-login to MySQL;
# mysql-u Root-p
# (Enter password)
Mysql> Show variables like ' character_set% ';
+--------------------------+----------------------------+
| variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | UTF8 |
| character_set_connection | UTF8 | (all generated UTF8, success haha ha)
| Character_set_database | UTF8 |
| Character_set_filesystem | binary |
| Character_set_results | UTF8 |
| Character_set_server | UTF8 |
| Character_set_system | UTF8 |
| Character_sets_dir | /usr/share/mysql/charsets/|
+--------------------------+----------------------------+
MySQL start and stop operations:
Available via #/etc/init.d/mysql [Start | stop | restart] (Implementation start, stop, restart)
You can also #service MySQL [start | stop | restart] (achieve start, stop, restart)
Above for the practice summary, if there is a better way please tell thank you
But in the process of restarting it will be a mistake.
Starting MySQL ....... The server quit without updating PID file (/var/lib/mysql/node1.pid). Failed
Check the/var/lib/mysql/node1.error error file to find
101004 20:23:38 [ERROR]/usr/sbin/mysqld:unknown variable ' Default-character-set=utf8 '
This is because MYSQLD does not recognize this format and can change the Default-character-set=utf8 under the [Mysqld] node to
Character_set_server=utf8 Restart, problem solving