第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 
相关文章
|
6月前
|
Ubuntu 关系型数据库 MySQL
MySQL源码编译安装
本文详细介绍了MySQL 8.0及8.4版本的源码编译安装全过程,涵盖用户创建、依赖安装、cmake配置、编译优化等步骤,并提供支持多Linux发行版的一键安装脚本,适用于定制化数据库部署需求。
1647 4
MySQL源码编译安装
|
6月前
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
884 4
MySQL二进制包安装
|
6月前
|
安全 关系型数据库 MySQL
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
本文详细介绍在openSUSE系统上通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,包括下载地址、RPM包解压、GPG密钥导入、使用rpm或zypper命令安装及服务启动验证,涵盖初始密码获取与安全修改方法,适用于无网络环境下的MySQL部署。
678 3
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
|
6月前
|
关系型数据库 MySQL Linux
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
本文介绍了在openSUSE系统上通过SUSE资源库安装MySQL 8.0和8.4版本的完整步骤,包括配置国内镜像源、安装MySQL服务、启动并验证运行状态,以及修改初始密码等操作,适用于希望在SUSE系列系统中快速部署MySQL的用户。
636 3
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
722 6
|
6月前
|
运维 Ubuntu 关系型数据库
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
本文介绍了在Debian系列系统(如Ubuntu、Debian 11/12)中通过APT仓库安装MySQL 8.0和8.4版本的完整步骤,涵盖添加官方源、配置国内镜像、安装服务及初始化设置,并验证运行状态,适用于各类Linux运维场景。
1857 0
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
|
6月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。

热门文章

最新文章