修改字符集|学习笔记

简介: 快速学习修改字符集

开发者学堂课程【MySQL 高级应用 - 索引和锁修改字符集】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/598/detail/8583


修改字符集


基本内容

一、修改配置文件

二、数据库的操作方法


一、修改配置文件

了解了 myql 的备份和高效之后,在学习 register.cnf 的时候,默认出厂的一般情况下不动,需要单独拷贝一份,配置文件为了防止程序错乱?

最好拷贝出来一份,原厂默认出厂设置不动,mysql 也同样采取类似的思路

修改默认的配置文件,注意,此时需要分一下版本,当前所用版本5.5,首先创建一个目录结构,

注意:cp/usr/share/mysql/,在当前目录下,这里存在一个 my-huge.cnf 文件,

它作为 mysql 的配置文件,它是一个总控的文件,一般而言,所说的服务器的调优等有可能会跟这个文件的部分参数息息相关。有点儿像配一个 web 工程的 XML,要用 spring mvc 的时候需要在里面进行注册。

此时拷贝当前目录下的 cp my-huge.cnf etc 下面的 my.cnf 目录。

image.png

言下之意 etc 是所有系统启动配置文件时统一计算的,也就是说当前目录下的出厂默认的不动,留存备份,使用拷贝的文件。

5.5是当前学习的版本,如果以后升级了,它可能就不叫这个名字了,可能要找的是什么?

答:要找一个 my-default.cnf 的程序。

此时重新启动 mysql

[ root@atguigu mysql]# service mysql stop

Shutting down MySQL.

[ root@atguigu mysql]# service mysql start

Starting MySQL...

[ root@atguigu mysql]#

根据配置重新进入:

[root@atguigu mysql]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with or\g.

Your MySQL connection id is 1

Server version: 5.5.48 - log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners .

Type 'help;' or '\h' for help. Type '\c' to clear the currentinput statement

mysql >

mysql> show databases ;

Database

information_ schema

mysql

performance_ schema

test

4 rows in set (0.00 sec )      

此时的这四条是系统自带的

mysql> create database db01 ;

Query OK, 1 row affected (0.03 sec )

mysql> use 01;

此时自行创建了01库

Database  changed

mysql >

如下图所示:注意观察表格

image.png

mysql> show tables;

Empty set (0.00 sec )

创建空的文件夹

mysql> create table user(id int not null ,name varchar(20) ); Query OK, 0 rows affected (0.00 sec )mysql> show tables

表格创建超过

Tables_ in_db01

user

1 row in set (0.00 sec )  

使用表格

mysql> insert into user values(l, " z3' );  张三

Query OK, 1 row affected (0.00 sec )

如下图所示:注意观察表格

image.png

mysql> select * from user ; 测试库是否合格

id name

l z3

1 row in set (0.00 sec )

mysql>


二、数据库的操作方法

此处接上述程序;

1、查看字符集

show variables like 'character%';

show variables like '%char%';

看看出现的结果:

注意:此时将字体换成中文,如下图所示:会出现许多“?”

image.png

因为在上述程序中出现的是拉丁文,而不是 uft8

当出现的时候,需要将它进行修改

image.png

默认的客户端和服务器都使用了 Latin1,所以会乱码。

2、修改

[client]

password = 123456

port= 3306

default-character-set=utf8

[mysqld]

port = 3306

character_ set_ server=utf8

character_ set_ client=utf8

collation-servers=utf8_general_ ci#

(注意 linux mysql 安装完后是默认:表名区分大小写,列名不区分大小写; 0: 区分大小写,1:不区分大小写)

lower_ case_ table_ names=1#

(没置最大连接数,默人カ151, MySQL 服务器允许的最大连接数16384; )

max_ connections-1000

[mysql]

default-character-set = utf8

根据上面的方法进行修改和设置

[client]

#password = your_ password

port = 3306

socket = /var/lib/mysql/mysql. sock default- character-set=utf8

# The MySQL server

[mysqld]

port = 3306

character_ set_ server=utf8

character_ set_ client=utf8

collation-server=utf8_ general_ ci

socket = /var/lib/mysql/mysql sock

skip-external-locking

key_ buffer_ size = 384M

max_ allowed_ packet = 1M

table_ open_ cache = 512

sort_ buffer_ size = 2M

read_ buffer_ size = 2M

read_ rnd_ buffer_ size = 8M

myisam_ sort_ buffer_ size = 64M

thread_ cache_ size= 8

query_ cache_ size = 32M

Try number of CPU's*2 for thread_ concurrency

thread_ concurrency= 8

[mysql]

no-auto-rehash

default-character-set=utf8

3、在配置文件处修改

Examp1e MySQL config file for very large systems .

This is for a large system with memory of 1G- -2G where the system runs mainly MySQL.

MySQL programs look for option files in a set of

locations which depend on the deployment p1atform.

You can copy this option file to one of those

locations. For information about these locations, see :

http://dev .mysql. com/doc /mysql/en/option-files .html

In this file, you can use all long options that a program supports .

If you want to know which options a program supports, run the program

with the"--help" option.

The following options will be passed to all MySQL clients

[client ]

password = your_ password

port = 3306

socket = /var/lib/mysql/mysql .sock

default-character-set = utf8

此处的文件必须拷贝

Here follows entries for some specific programs

The MySQL server

编辑完之后,如何保存退出?

操作方法:wq

4、配置完成以后,尝试重启一下数据库

[ root@atguigu mysql]# service mysql stop

Shutting down MySQL.

[ root@atguigu mysql]# service mysql start

Starting MySQL...

[ root@atguigu etc]# mysql -u root -p

Enter password :

Welcome to the MySQL monitor .Commands end with ; or\ g .

Your MySQL connection id is 1

Server version: 5.5.48-1og MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Orac1e and/or its affi1iates. All rights reserved .

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners .

Type 'help;' or' h ,for help. Type" c' to clear the current input statement .

mysql>

重启成功说明配置文件修改正确;

mysql> use db01

Database changed

mysql> select * from user ;

测试库是否合格

id name

l z3

2 row in set (0.00 sec )

回车之后“?”更多。

此时进行分析:

如果配置文件出现错误,数据库绝对不会成功启动,此时说明配置文件没有出现问题;

在修改中文配置之前建立了一个数据库,此时尝试再建一个数据库,创建完数据库之后立即使用,不同的数据库可以使用同一张表,直接将张三改为01

mysql > create database db02

Query OK, 1 row affected (0.00 sec )

mysql> use db02;

Database changed

mysql> create table user(id int not null ,name varchar(20) );Query OK, 0 rows affected (0.01 sec )

mysql> select* from user ;

Empty set (0.00 sec )

mysql> insert into user values(1,'张三' );

Query OK, 1 row affected (0.00 sec )

mysql> select* from user ;

刷新之后,下图表格中的内容正确,此时数据库程序正确。

image.png

重启以后,在字符集编码修改之前建立一个数据库其实是没用的,而在这之后建立一个数据库是可以正常使用的,如果安装一个 mysql 那么就在这个字符集编码修改完之后立即建造一个数据库。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 关系型数据库 MySQL
升级宝典!阿里云RDS MySQL助力MySQL5.7升级到8.0
2023年10月,社区MySQL5.7停服。阿里云RDS MySQL对MySQL5.7的服务将进行到2024年10月21日,同时,并将通过有效的方案和大量的升级经验,鼓励和助力广大企业和开发者将MySQL5.7升级到MySQL8.0。
|
数据采集 定位技术 数据安全/隐私保护
ESP8266调用NTP服务器进行时间校准
NTP服务器通常连接到具有高度精确时间源的设备,例如:GPS接收器或原子钟,以确保提供准确如一的时间。网络上的计算机可以通过连接到NTP服务器来同步其时间,并确保它们在同一时刻进行操作。
1991 0
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
10月前
|
前端开发 JavaScript
Promise.reject()和throw有什么区别?
Promise.reject()和throw有什么区别?
349 57
|
数据处理
自定义字符集
自定义字符集
264 2
|
Java API
如何在 Java 中动态地添加字符编码支持
本文介绍了在Java中动态添加字符编码支持的方法,通过使用 Charset 和 CharsetProvider 类,可以扩展 Java 的字符编码能力,实现对更多字符集的支持。
287 6
|
JSON 网络协议 网络安全
详解新一代 HTTP 请求库:httpx
详解新一代 HTTP 请求库:httpx
1638 2
|
前端开发 JavaScript
前端vue:解决Invalid prop: type check failed for prop “model“. Expected Object, got Array问题
前端vue:解决Invalid prop: type check failed for prop “model“. Expected Object, got Array问题
前端vue:解决Invalid prop: type check failed for prop “model“. Expected Object, got Array问题
|
JavaScript 前端开发
JS中判断一个字符串中出现次数最多的字符,统计这个次数?
JS中判断一个字符串中出现次数最多的字符,统计这个次数?
217 0
|
SQL
Mybatis-plus 自定义SQL注入器查询@TableLogic 逻辑删除后的数据
Mybatis-plus使用@TableLogic注解进行逻辑删除数据后,在某些场景下,又需要查询该数据时,又不想写SQL。 自定义Mybatis-plus的SQL注入器一劳永逸的解决该问题
1296 0