第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';

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
11月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
6月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
541 2
|
11月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3540 57
|
存储 SQL 关系型数据库
MySQL进阶突击系列(03) MySQL架构原理solo九魂17环连问 | 给大厂面试官的一封信
本文介绍了MySQL架构原理、存储引擎和索引的相关知识点,涵盖查询和更新SQL的执行过程、MySQL各组件的作用、存储引擎的类型及特性、索引的建立和使用原则,以及二叉树、平衡二叉树和B树的区别。通过这些内容,帮助读者深入了解MySQL的工作机制,提高数据库管理和优化能力。
|
10月前
|
关系型数据库 MySQL 分布式数据库
Super MySQL|揭秘PolarDB全异步执行架构,高并发场景性能利器
阿里云瑶池旗下的云原生数据库PolarDB MySQL版设计了基于协程的全异步执行架构,实现鉴权、事务提交、锁等待等核心逻辑的异步化执行,这是业界首个真正意义上实现全异步执行架构的MySQL数据库产品,显著提升了PolarDB MySQL的高并发处理能力,其中通用写入性能提升超过70%,长尾延迟降低60%以上。
|
11月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
532 41
|
11月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
661 17
|
11月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
341 18
|
11月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
604 11
|
12月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
518 28

热门文章

最新文章