第01章 Linux下MySQL的安装与使用【1.MySQL架构篇】【MySQL高级】3

简介: 第01章 Linux下MySQL的安装与使用【1.MySQL架构篇】【MySQL高级】3

4. Linux下修改配置

mysql下

show databases;

use mysql;
select host,user from user;


可以发现root只能在localhost登录

所以需要设置可以远程连接

update user set host = '%' where user = 'root';

实际开发中,可以写得严谨一点

update user set host = '192.168.1.%' where user = 'root';

重新查看:



一定要执行操作,刷新权限,才可以起作用

flush privileges;


测试连接,发现报错不一样了。这个问题只会在mysql8.0中出现。

因为mysql8.0新特性:对密码进行加密。


解决方法:Linux下,登录mysql之后,执行这条SQL:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';


然后再重新配置SQLyog连接,则可连接成功了,OK。

跳转5

5.测试

mysql1 mysql8.0的连接成功



连接mysql2 mysql5.7

提示:

关闭防火墙

修改root用户远程登录

一定要执行操作,刷新权限,才可以起作用

flush privileges;

成功:



4. MySQL8的密码强度评估(了解)

5.字符集的相关操作

5.1 修改MySQL5.7字符集

1.修改步骤

在MySQL8.0版本之前,默认字符集为latin1,utf8字符集指向的是utf8mb3。网站开发人员在数据库设计的时 候往往会将编码修改为utf8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL8.0开始,数据库的默认编码将改为utf8mb4,从而避免上述乱码的问题。

操作1:查看默认使用的字符集

show variables like 'character%';
#或者
show variables like '%char%'; 

MySQL8.0中执行:


MySQL5.7中执行:



show create table emp1;
show create database dbtest1;

2.修改

vim /etc/my.cnf

修改文件

最后添加语句

character_set_server=utf8

3.最后重启mysql服务

systemctl restart mysqld.service

4.重新登录并查看

show variables like '%character%';


注意:
已有的数据库的字符集不会修改,
已有数据库下新建表(没有指明字符集)和数据库的字符集保持一致

2.已有库&表字符集的变更

修改已有数据库的字符集

alter database dbtest1 character set 'utf8';

修改已有数据表的字符集

alter table t_emp convert to character set 'utf8';

注意:可能会有已有数据的乱码问题

5.2 各级别的字符集

MySQL有4个级别的字符集和比较规则,分别是:

  • 服务器级别
  • 数据库级别
  • 表级别
  • 列级别

执行如下SQL语句:

show variables like 'character%';


character_set_server:服务器级别的字符集

character_set_database:当前数据库的字符集

character_set_client:服务器解码请求时使用的字符集

character_set_connection:服务器处理请求时会把请求字符串从character_set_client转为 character_set_connection

character_set_results:服务器向客户端返回数据时使用的字符集

创建数据库,如无指明字符集,则默认和服务器级别一样

同理:当前一级的默认创建,其字符集和上一级相同

可以显示指明创建的字符集

character set 'utf8'

实际开发中不太需要,统一utf8字符集

5.3 字符集与比较规则(了解)

1. utf8与utf8mb4

通过如下指令可以查看mysql支持的字符集:

SHOW CHARSET;
# 或者
SHOW CHARACTER SET;




2. 比较规则

常用操作1

# 查看GBK字符集的比较规则
SHOW COLLATION LIKE 'gbk%'



# 查看UTF-8字符集的比较规则
SHOW COLLATION LIKE 'utf8%'



常用操作2

#查看服务器的字符集和比较规则
SHOW VARIABLES LIKE '%_server';

#查看数据库的字符集和比较规则
SHOW VARIABLES LIKE '%_database';

#查看具体数据库的字符集和比较规则
SHOW CREATE DATABASE dbtest1;

#修改具体数据库的字符集和比较规则
ALTER DATABASE dbtest1 DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
23天前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
144 3
|
18天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
17天前
|
Ubuntu Linux Shell
Linux系统命令 安装和文件相关命令
本文档详细介绍了Linux系统中的常用命令,包括软件安装卸载命令如`dpkg`和`apt-get`,压缩与解压命令如`gzip`、`bzip2`和`xz`,以及`tar`命令用于打包和解包。此外还介绍了文件分割命令`split`,文件操作命令如`cat`、`head`、`tail`、`more`、`less`等,管道命令和`wc`、`grep`、`find`、`cut`、`sort`、`uniq`、`diff`等实用工具。最后,文档还讲解了文件属性相关的命令如`chmod`、`chown`、`chgrp`以及创建硬链接和软链接的`ln`命令。
|
23天前
|
Linux TensorFlow 算法框架/工具
在Linux上安装其他版本的cmake 或 升级cmake
在Linux上安装其他版本的cmake 或 升级cmake
35 2
|
23天前
|
人工智能 Linux 开发工具
Linux安装Taiyi stable-diffusion-webui
Linux安装Taiyi stable-diffusion-webui
|
24天前
|
Ubuntu Linux 虚拟化
安装Windows Linux 子系统的方法:适用于windows 11 版本
本文提供了在Windows 11系统上安装Linux子系统(WSL)的详细步骤,包括启用子系统和虚拟化功能、从Microsoft Store安装Linux发行版、设置WSL默认版本、安装WSL2补丁,以及完成Ubuntu的首次安装设置。
65 2
|
27天前
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
27天前
|
存储 前端开发 关系型数据库
Linux 技术架构:前端、后端与数据库的完美融合
【8月更文挑战第25天】本文深入剖析了Linux操作系统的技术架构,重点介绍了前端、后端及数据库三大核心组成部分。Linux前端技术不仅涵盖了图形用户界面(GUI),包括GNOME、KDE等桌面环境,还涉及HTML、CSS、JavaScript等Web前端技术及其相关框架。后端技术则聚焦于Python、Java等多种编程语言、Apache和Nginx等Web服务器以及MySQL、PostgreSQL等数据库管理系统。Linux数据库技术覆盖了关系型和非关系型数据库,如MySQL、MongoDB等,并提供了多种数据库管理工具。
47 0
|
28天前
|
关系型数据库 Linux PostgreSQL
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误