Linux中显示mysql字符集的信息
本文内容列表:
- 1、linux下通过rpm安装mysql时如何将默认字符集改为utf8
- 2、Linux服务器上的mysql字符集没有GBK编码。
- 3、在Linux上安装mysql时不支持GBK字符集。
- 4、linux下如何安装mysql
linux下通过rpm安装mysql时如何将默认字符集更改为utf8
如果 /etc/ 目录下没有 my.cnf 配置文件,则在 /usr/share/mysql/ 中找到 *.cnf 文件,将其中一个复制到 /etc/ 下,并重命名为 my.cnf ;
跑不起来不是问题。如果无法启动,请仔细检查my.cnf文件,看是否需要修改配置,然后检查mysql启动脚本/etc/rc.d/init.d/mysql。最重要的是根据你的mysql错误日志来分析。
设置默认utf-8
将以下配置添加到my.cnf文件中:
[mysqld]
init_connect = 'SET NAMESutf8'tf❙fcharacter = u- collation-server = utf8_general_ci
第三:
创建数据库后,最好检查一下你的数据库的字符集是什么?您可以通过数据库创建测试看到这一点;命令。需要保证你的数据库的编码格式是utf-8,才能保证插入数据库的都是中文格式
Linux服务器上的mysql字符集没有GBK编码
如果编译安装的话最好加上 --with-charset=gbk
--with-extra-charsets=all
另外,如果你使用了--with-charset=gbk
上面编译时,那么你创建的数据库将默认为gbk字符集。否则,创建数据库时必须指定数据库字符集,
如:create
database
databasename
default
character
set
gbk;

Linux安装mysql,不支持GBK字符集
安装后默认的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 会将变量显示为 'character_set%' ;//或状态
+------------------------+--- - - --------------------- --------+
|变量名 |值 |
+----------------------------+-- -------------- - - -----------+
|字符集客户端 |拉丁1 |
|字符集连接 |拉丁1 |
|字符集数据库 |拉丁1 |
|字符集文件系统 |二进制 |
|字符集结果 |拉丁1 |
|字符集服务器 |拉丁1 |
|角色系统 | utf8 |
|字符集目录 | /usr/share/mysql/charsets/ |
+-------- ------------------+-------- - - ------------------------+
修改字符集:
1。检查/etc目录下是否有my.cnf文件;
#ls -l | grep my.cnf (检查/etc下是否有my.cnf文件)
2.如果没有,从/usr/share/mysql复制到/etc下。 /usr/share/mysql目录下有5个.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 cnf
3。编辑my.cnf文件,在utf8文件中的三个地方添加default-character-set=([client] [mysqld] [mysql])
#vi /etc/my.cnf
编辑如下: (红色为添加部分)
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
=default utf8
[ mysqld]
端口=3306
套接字 = /var/lib/mysql/mysql.sock
跳过锁定
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64'ffer_54
_buffer_length = 8KB
读取缓冲区大小= 256 kB
read_rnd_buffer_size = 512 kB
myisam_sort_buffer_size = 8M
default-South_character-set=utf8'in it=utf8' 无需添加
[ mysql]
no-auto- rehash
default-character-set=utf8
保存退出;
4。重启MySQL服务器使设置生效
#/etc/init.d/mysql restart
5。再次登录mysql;
# mysql -u root - p
#(输入密码)
mysql 会将变量显示为 'character_set%' ;
+-------- --------- - ----------+--------------------------------+
|变量名 |值 |
+--------------------------+------------ ------ ------------+
|字符集客户端 | utf8 |
|字符集连接 | UTF8 | (utf8已生成并成功。)
|字符集数据库 | utf8 |
|文件系统 | 字符集二进制 |
|字符集结果 | utf8 |
|字符集服务器 | utf8 |
|角色系统 | utf8 |
|字符集目录 | /usr/share/mysql/charsets/ | /usr/share/mysql/charsets/ | --------------------------+------------------------ - - ----+
mysql启动和停止操作:
可以使用#/etc/init.d/mysql [start | stop]来完成。停止| restart](启动、停止、重启)
也可以用#service mysql [start | restart]来完成停止| restart](实现启动、停止、重启)
**************************************** * *
另外:如果你在编辑字符集之前尝试向数据库中插入中文,那么在编辑完插入中文的数据库中的字符集后(在其他数据库中可能没有问题),
通过将变量显示为“character_set%”查询结果可以如下:
+----------------------------+-- - -- ----- ------------------+
|变量名 |值 |
+------------ -------------+---------------- -- ---------+
|字符集客户端 | utf8 |
|字符集连接 | utf8 |
|字符集数据库 |拉丁1 |
|文件系统 | 字符集二进制 |
|字符集结果 | utf8 |
|字符集服务器 | utf8 |
|角色系统 | utf8 |
|字符集目录 | /usr/share /mysql/ 字符集/ |
+----------------------------+------- - -- ------- ------------+
如上所述,character_set_database 仍将是 latin1。公认的方法是先导出数据库中的数据。如果数据不重要,可以删除数据库,
然后重新创建数据库。
如何在linux中安装mysql
1。首先在liunx下安装Mysql数据库
~$ sudo apt-get install mysql-server #安装Mysql服务器
~$ ps -aux|grep mysql #检查Mysql服务器进程
0800.01 。 3604分/7 S+ 5月20日0:00 mysql -u root -p
mysql 25125 0.0 0.0 4472 1704 ? SS 09:51 0:00 /bin/sh /usr /bin/ mysqld_safe
mysql 25496 0.0 3.1 859956 127084?周日 09:51 0:01 /usr/sbin/mysqd --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --log-error=/ var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port= 3306
beili 26652 0 ,0 0.0 13708 2180点/19 S+ 10:32 0:00 grep --color=auto mysql
~$ netstat -nlt|grep 3306 #查看Mysql服务器占用端口
306.10.0 .0.0:* LISTEN
~$ /etc/init.d/mysql status # 使用启动命令检查Mysql服务器状态
Loaded:已加载(/lib/systemd/system/mysql.service ;启用;供应商默认:启用)
活动:自 2015-05-21 星期四 09:51:13 CST 起活动(运行); 43分钟前
进程:25126 ExecStartPost=/usr/share/mysql/mysql- systemd-start post(代码=已完成,状态=0/SUCCESS)
进程:25122 ExecStartPre=/ussql/share -systemd-开始前(代码=已完成,状态=0/成功)
~$ mysql service status # 通过系统服务检查Mysql服务器状态
● mysql.service - MySQL社区服务器
Loaded: 已加载 (/lib/systemd/system/mysql.service;enabled;vendor-preset:enabled)
Active:自 2015 年 5 月 21 日星期四 09:51:13 CST 起活跃(运行); 44分钟前
进程:25126 ExecStartPost=/usr/share/mysql/mysql-systemd-start post(代码=已完成,状态=0/SUCCESS)
进程:25122 ExecStartPre=/ussql/share -systemd- start pre (code=quit, status=0/SUCCESS)
~$ whereis mysql # 显示每个mysql文件 安装目录
mysql: /usr/bin/mysql /usr/lib/mysql /etc/ mysql /usr /include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
2。访问并配置Mysql
$ mysql -u root -p
输入密码:
Mysql默认字符集是latin1,所以需要改为utf8。网上很多文章运行“sudo vi /etc/mysql/my.cnf”,但是打开后只有两行:
!includedir /etc/mysql/conf.d/
!includedir /etc /mysql/mysql.conf.d/
我以为mysql的配置文件应该在这两个文件夹下,于是尝试打开/etc/mysql/mysql.conf.d/下的mysqld.cnf文件。执行以下命令:
〜$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
...
[客户端]
默认字符集=utf8
[mysqld_safe]❝[mysqld_safe ] = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
字符集服务器=utf8
排序服务器=utf8_general_ci'...注意:棕色部分是添加的内容
重启mysql服务,检查字符集设置:
~$ sudo /etc/init.d/mysql restart
~$ mysql -u root -p
mysql 将变量显示为“%char%”
+----------------------------+--------- - ---- ---------------+
|变量名 |值 |
+----------------- ----------+---------------- -------------+
|字符集客户端 | utf8 |
|字符集连接 | utf8 |
|字符集数据库 | utf8 |
|文件系统 | 字符集二进制 |
|字符集结果 | utf8 |
|字符集服务器 | utf8 |
|角色系统 | utf8 |
|字符集目录 | /usr/share/mysql/charsets/ |
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网
