linux怎么设置mysql 的编码格式

linux怎么设置mysql 的编码格式,第1张

安装完的MySQL的默认字符集

latin1

,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;由于linux下MySQL的默认安装目录分布在不同的文件下;不像windows一样放在同一目录下,只需修改其中的my.ini文件,重起后就生效了;所以先来看看linux下MySQL的数据库文件、配置文件和命令文件分别在不同的目录

1、数据库目录,其所创建的数据库文件都在该目录下

/var/lib/mysql/

2、配置文件

(mysql.server命令及配置文件所在地)

/usr/share/mysql

3、相关命令(如mysql

mysqladmin等)

/usr/bin

4、启动脚本(如mysql启动命令)

/etc/rc.d/init.d/

查看默认字符集

#mysql

-u

root

-

p

#(输入密码)

一、查看MySQL数据库服务器和数据库MySQL字符集。

1

show variables like '%char%'

二、查看MySQL数据表(table)的MySQL字符集。

1

show table status from sqlstudy_db like '%countries%'

三、查看MySQL数据列(column)的MySQL字符集。

1

show full columns from countries

我们有学习小组也 希望一起学习进步 Oracle-Linux交流 103 382 476

可直接进入

mysql

进行更改,具体如下:

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](实现启动,停止,重启)

*********************************

另外:如果在修改字符集前,尝试在数据库中插入中文,那么当修改了字符集后,在你所插入中文的数据库中(在别的数据库中可能没问题),

通过show

variables

like

'character_set%'查询的结果可如下:

+--------------------------+----------------------------+

|

Variable_name

|

Value

|

+--------------------------+----------------------------+

|

character_set_client

|

utf8

|

|

character_set_connection

|

utf8

|

|

character_set_database

|

latin1

|

|

character_set_filesystem

|

binary

|

|

character_set_results

|

utf8

|

|

character_set_server

|

utf8

|

|

character_set_system

|

utf8

|

|

character_sets_dir

|

/usr/share/mysql/charsets/

|

+--------------------------+----------------------------+


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5901347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存