安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改成用户所须要的(好比utf8),就必须改其相关的配置文件;因为linux下MySQL的默认安装目录分布在不一样的文件下;不像windows同样放在同一目录下,只需修改其中的my.ini文件,重起后就生效了;因此先来看看linux下MySQL的数据库文件、配置文件和命令文件分别在不一样的目录 :node
一、数据库目录,其所建立的数据库文件都在该目录下
/var/lib/mysql/mysql
二、配置文件 (mysql.server命令及配置文件所在地)
/usr/share/mysqllinux
三、相关命令(如mysql mysqladmin等)
/usr/binsql
四、启动脚本(如mysql启动命令)
/etc/rc.d/init.d/数据库
查看默认字符集windows
#mysql -u root - p服务器
#(输入密码)socket
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/ |
+--------------------------+----------------------------+ui
修改字符集 :rest
1.查找/etc目录下是否有my.cnf文件;
#ls -l | grep my.cnf (在/etc下查找是否有my.cnf文件存在)
2.若是没有就要从/usr/share/mysql,拷贝一个到/etc 下,在/usr/share/mysql目录下有五个后缀为.cnf的文件,分别是 my-huge.cnf my-innodb-heavy-4G.cnf my-large.cnf my-medium.cnf my-small.cnf ;从中随便拷贝一个到/etc目录下并将其改成my.cnf文件,我选择的是my-medium.cnf :
#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
3.修改my.cnf文件,在该文件中的三个地方加上 default-character-set=utf8([client] [mysqld] [mysql])
#vi /etc/my.cnf
修改以下:(红色为添加部分)
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8 (通过验证好像这一步不用设置也能够达到效果)
[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
保存退出;
4.重起MySQL服务器,使其设置的内容生效
#/etc/init.d/mysql restart
5. 从新登入mysql;
# mysql -u root - p
#(输入密码)
mysql> show variables like 'character_set%' ;
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |(都生成了utf8,成功了 哈哈哈)
| 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启动和中止 操做 :
能够经过 #/etc/init.d/mysql [start | stop | restart](实现启动,中止,重启)
也能够经过 #service mysql [start | stop | restart](实现启动,中止,重启)
以上为实践总结,若是有更好的方法请告知谢谢
但是在重启的过程当中就出会错误
Starting MySQL............The server quit without updating PID file (/var/lib/mysql/node1.pid). [失败]
查一下 /var/lib/mysql/node1.error 错误文件会发现
101004 20:23:38 [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'
这是由于 mysqld 不能识别这种格式的 能够将 [ mysqld ] 节点下的 default-character-set=utf8' 改为
character_set_server=utf8 再重启,问题解决