第02章_MySQL环境搭建(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 第02章_MySQL环境搭建

步骤5:单击“Next”(下一步)按钮,打开设置服务器名称窗口,如图所示。该服务名会出现在Windows服务列表中,也可以在命令行窗口中使用该服务名进行启动和停止服务。本书将服务名设置为“MySQL80”。如果希望开机自启动服务,也可以勾选“Start the MySQL Server at System Startup”选项(推荐)。


下面是选择以什么方式运行服务?可以选择“Standard System Account”(标准系统用户)或者“Custom User”(自定义用户)中的一个。这里推荐前者。

clip_image012-1634203188596.jpg


步骤6:单击“Next”(下一步)按钮,打开确认设置服务器窗口,单击“Execute”(执行)按钮。


clip_image014-1634203188596.jpg

步骤7:完成配置,如图所示。单击“Finish”(完成)按钮,即可完成服务器的配置。

clip_image016.jpg


步骤8:如果还有其他产品需要配置,可以选择其他产品,然后继续配置。如果没有,直接选择“Next”(下一步),直接完成整个安装和配置过程。

clip_image018.jpg


步骤9:结束安装和配置。

clip_image020.jpg


2.5 配置MySQL8.0 环境变量

如果不配置MySQL环境变量,就不能在命令行直接输入MySQL登录命令。下面说如何配置MySQL的环境变量:


步骤1:在桌面上右击【此电脑】图标,在弹出的快捷菜单中选择【属性】菜单命令。

步骤2:打开【系统】窗口,单击【高级系统设置】链接。

步骤3:打开【系统属性】对话框,选择【高级】选项卡,然后单击【环境变量】按钮。

步骤4:打开【环境变量】对话框,在系统变量列表中选择path变量。

步骤5:单击【编辑】按钮,在【编辑环境变量】对话框中,将MySQL应用程序的bin目录(C:\Program Files\MySQL\MySQL Server 8.0\bin)添加到变量值中,用分号将其与其他路径分隔开。

步骤6:添加完成之后,单击【确定】按钮,这样就完成了配置path变量的操作,然后就可以直接输入MySQL命令来登录数据库了。


2.6 MySQL5.7 版本的安装、配置

安装

此版本的安装过程与上述过程除了版本号不同之外,其它环节都是相同的。所以这里省略了MySQL5.7.34版本的安装截图。


配置

配置环节与MySQL8.0版本确有细微不同。大部分情况下直接选择“Next”即可,不影响整理使用。


这里配置MySQL5.7时,重点强调:与前面安装好的MySQL8.0不能使用相同的端口号。


2.7 安装失败问题

MySQL的安装和配置是一件非常简单的事,但是在操作过程中也可能出现问题,特别是初学者。


问题1:无法打开MySQL8.0软件安装包或者安装过程中失败,如何解决?


在运行MySQL8.0软件安装包之前,用户需要确保系统中已经安装了.Net Framework相关软件,如果缺少此软件,将不能正常地安装MySQL8.0软件。


clip_image002.gif

解决方案:到这个地址https://www.microsoft.com/en-us/download/details.aspx?id=42642下载Microsoft .NET Framework 4.5并安装后,再去安装MySQL。


另外,还要确保Windows Installer正常安装。windows上安装mysql8.0需要操作系统提前已安装好Microsoft Visual C++ 2015-2019。

clip_image004.gif

clip_image006.gif

解决方案同样是,提前到微软官网https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0,下载相应的环境。


问题2:卸载重装MySQL失败?


该问题通常是因为MySQL卸载时,没有完全清除相关信息导致的。


解决办法是,把以前的安装目录删除。如果之前安装并未单独指定过服务安装目录,则默认安装目录是“C:\Program Files\MySQL”,彻底删除该目录。同时删除MySQL的Data目录,如果之前安装并未单独指定过数据目录,则默认安装目录是“C:\ProgramData\MySQL”,该目录一般为隐藏目录。删除后,重新安装即可。


问题3:如何在Windows系统删除之前的未卸载干净的MySQL服务列表?


操作方法如下,在系统“搜索框”中输入“cmd”,按“Enter”(回车)键确认,弹出命令提示符界面。然后输入“sc delete MySQL服务名”,按“Enter”(回车)键,就能彻底删除残余的MySQL服务了。


3. MySQL的登录

3.1 服务的启动与停止

MySQL安装完毕之后,需要启动服务器进程,不然客户端无法连接数据库。


在前面的配置过程中,已经将MySQL安装为Windows服务,并且勾选当Windows启动、停止时,MySQL也自动启动、停止。


方式1:使用图形界面工具

步骤1:打开windows服务


方式1:计算机(点击鼠标右键)→ 管理(点击)→ 服务和应用程序(点击)→ 服务(点击)

方式2:控制面板(点击)→ 系统和安全(点击)→ 管理工具(点击)→ 服务(点击)

方式3:任务栏(点击鼠标右键)→ 启动任务管理器(点击)→ 服务(点击)

方式4:单击【开始】菜单,在搜索框中输入“services.msc”,按Enter键确认

步骤2:找到MySQL80(点击鼠标右键)→ 启动或停止(点击)


bc17a104f188788b0473d301db460fdf.png


方式2:使用命令行工具

# 启动 MySQL 服务命令:
net start MySQL服务名
# 停止 MySQL 服务命令:
net stop MySQL服务名

image-20211014184037414.png

说明:


start和stop后面的服务名应与之前配置时指定的服务名一致。


如果当你输入命令后,提示“拒绝服务”,请以系统管理员身份打开命令提示符界面重新尝试。


3.2 自带客户端的登录与退出

当MySQL服务启动完成后,便可以通过客户端来登录MySQL数据库。注意:确认服务是开启的。


登录方式1:MySQL自带客户端

开始菜单 → 所有程序 → MySQL → MySQL 8.0 Command Line Client

image-20211014184425147.png


说明:仅限于root用户


登录方式2:windows命令行

格式:

mysql -h 主机名 -P 端口号 -u 用户名 -p密码


举例:

mysql -h localhost -P 3306 -u root -pabc123  # 这里我设置的root用户的密码是abc123

image-20211014185035137.png

注意:


(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格。如:


mysql -hlocalhost -P3306 -uroot -pabc123

(2)密码建议在下一行输入,保证安全


mysql -h localhost -P 3306 -u root -p
Enter password:****


(3)客户端和服务器在同一台机器上,所以输入localhost或者IP地址127.0.0.1。同时,因为是连接本机:

-hlocalhost就可以省略,如果端口号没有修改:-P3306也可以省略


简写成:


mysql -u root -p
Enter password:****


连接成功后,有关于MySQL Server服务版本的信息,还有第几次连接的id标识。


也可以在命令行通过以下方式获取MySQL Server服务版本的信息:


c:\> mysql -V
c:\> mysql --version


或登录后,通过以下方式查看当前版本信息:


mysql> select version();


退出登录

exit

quit


4. MySQL演示使用

4.1 MySQL的使用演示

1、查看所有的数据库


show databases;


“information_schema”是 MySQL 系统自带的数据库,主要保存 MySQL 数据库服务器的系统信息,比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件 所在的文件夹和系统使用的文件夹,等等


“performance_schema”是 MySQL 系统自带的数据库,可以用来监控 MySQL 的各类性能指标。


“sys”数据库是 MySQL 系统自带的数据库,主要作用是以一种更容易被理解的方式展示 MySQL 数据库服务器的各类性能指标,帮助系统管理员和开发人员监控 MySQL 的技术性能。


“mysql”数据库保存了 MySQL 数据库服务器运行时需要的系统信息,比如数据文件夹、当前使用的字符集、约束检查信息,等等


为什么 Workbench 里面我们只能看到“demo”和“sys”这 2 个数据库呢?


这是因为,Workbench 是图形化的管理工具,主要面向开发人 员,“demo”和“sys”这 2 个数据库已经够用了。如果有特殊需求,比如,需要监控 MySQL 数据库各项性能指标、直接操作 MySQL 数据库系统文件等,可以由 DBA 通过 SQL 语句,查看其它的系统数据库。


2、创建自己的数据库

create database 数据库名;
#创建atguigudb数据库,该名称不能与已经存在的数据库重名。
create database atguigudb;

3、使用自己的数据库


use 数据库名;
#使用atguigudb数据库
use atguigudb;


说明:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046 (3D000): No database selected”(没有选择数据库)


使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另一个数据库操作,那么要重新use。


4、查看某个库的所有表格

show tables;  #要求前面有use语句
show tables from 数据库名;


5、创建新的表格


create table 表名称(
  字段名  数据类型,
  字段名 数据类型
);


说明:如果是最后一个字段,后面就用加逗号,因为逗号的作用是分割每个字段。


#创建学生表
create table student(
  id int,
    name varchar(20)  #说名字最长不超过20个字符
);


6、查看一个表的数据


select * from 数据库表名称;
#查看学生表的数据
select * from student;


7、添加一条记录

insert into 表名称 values(值列表);
#添加两条记录到student表中
insert into student values(1,'张三');
insert into student values(2,'李四');

报错:


mysql> insert into student values(1,'张三');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1
mysql> insert into student values(2,'李四');
ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'name' at row 1
mysql> show create table student;


字符集的问题。


8、查看表的创建信息


show create table 表名称\G
#查看student表的详细创建信息
show create table student\G


#结果如下
*************************** 1. row ***************************
       Table: student
Create Table: CREATE TABLE `student` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

上面的结果显示student的表格的默认字符集是“latin1”不支持中文。


9、查看数据库的创建信息

show create database 数据库名\G
#查看atguigudb数据库的详细创建信息
show create database atguigudb\G


#结果如下
*************************** 1. row ***************************
       Database: atguigudb
Create Database: CREATE DATABASE `atguigudb` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec)


上面的结果显示atguigudb数据库也不支持中文,字符集默认是latin1。


10、删除表格


drop table 表名称;


#删除学生表
drop table student;


11、删除数据库


drop database 数据库名;
#删除atguigudb数据库
drop database atguigudb;

4.2 MySQL的编码设置

MySQL5.7中

问题再现:命令行操作sql乱码问题


mysql> INSERT INTO t_stu VALUES(1,'张三','男');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'sname' at row 1


问题解决


步骤1:查看编码命令


show variables like 'character_%';
show variables like 'collation_%';


步骤2:修改mysql的数据目录下的my.ini配置文件

[mysql]  #大概在63行左右,在其下添加
... 
default-character-set=utf8  #默认字符集
[mysqld]  # 大概在76行左右,在其下添加
...
character-set-server=utf8
collation-server=utf8_general_ci


注意:建议修改配置文件使用notepad++等高级文本编辑器,使用记事本等软件打开修改后可能会导致文件编码修改为“含BOM头”的编码,从而服务重启失败。


步骤3:重启服务


步骤4:查看编码命令


show variables like 'character_%';
show variables like 'collation_%';

MySQL编码1.jpgMySQL编码2.jpg


如果是以上配置就说明对了。接着我们就可以新创建数据库、新创建数据表,接着添加包含中文的数据了。

MySQL8.0中

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


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
关系型数据库 MySQL Linux
linux环境搭建mysql5.7总结
linux环境搭建mysql5.7总结
72 0
|
18天前
|
SQL 关系型数据库 MySQL
MySQL环境搭建——“MySQL数据库”
MySQL环境搭建——“MySQL数据库”
|
18天前
|
Java 关系型数据库 MySQL
【Linux】jdk、tomcat、MySQL环境搭建的配置安装,Linux更改后端端口
【Linux】jdk、tomcat、MySQL环境搭建的配置安装,Linux更改后端端口
74 0
|
8月前
|
关系型数据库 MySQL PHP
PHP环境搭建(安装MySQL)
PHP环境搭建(安装MySQL)
44 0
|
10月前
|
关系型数据库 MySQL Linux
提高性能,MySQL 读写分离环境搭建(二)
提高性能,MySQL 读写分离环境搭建(二)
|
10月前
|
Ubuntu 关系型数据库 MySQL
提高性能,MySQL 读写分离环境搭建(一)
提高性能,MySQL 读写分离环境搭建(一)
|
12月前
|
存储 安全 关系型数据库
02_MySQL环境搭建
02_MySQL环境搭建
84 0
|
12月前
|
SQL 存储 关系型数据库
第02章_MySQL环境搭建(三)
第02章_MySQL环境搭建
60 0
|
12月前
|
存储 关系型数据库 MySQL
第02章_MySQL环境搭建(一)
第02章_MySQL环境搭建
101 0
|
关系型数据库 MySQL 数据库
【MySQL学习笔记】系列二:MySQL环境搭建(卸载、下载、安装、配置、登录)(三)
【MySQL学习笔记】系列二:MySQL环境搭建(卸载、下载、安装、配置、登录)(三)