系列文章目录
一、数据库系统(DBS)
-
数据库(DataBase,DB):
数据库就是存储数据的仓库,其本质是一个基于网络通信的文件系统。数据库里的数据按照特定的格式进行存储,用户可以对数据库中的数据进行增加,修改,删除及查询操作,数据冗余小,扩展性好。最重要的是,使用数据库进行上述操作,要比使用普通文件的效率高出很多很多!
-
数据库管理系统(Database Management System,DBMS):
用来操作和管理数据库的软件,常见的有:MySQL、Oracle、sql server、redis、mongodb、memcache、sqllite等。
-
关系型数据库和非关系型数据库:
-
关系型(MySQL、Oracle、sql server、sqllite等):
数据之间有关系或约束;
用一个表来表示实体(如一个学生);
表的逻辑结构是二维表格(类似excel表格);
表格的第一行被称为表头;
除表头外的每一行被称为元组或记录;
每一列被称为属性或字段。
-
非关系型(redis、mongodb、memcache等):
数据之间没有关系;
逻辑结构通常是键值对的形式;
-
-
数据库系统(Database System,DBS):
由数据库及其管理软件组成的系统。有时,也将数据库管理员(DBA)纳入该系统中。
二、SQL简介
SQL是用来访问和操作关系型数据库的语言,无论应用程序使用什么编程语言写的,只要是要与关系型数据库打交道,就必须使用SQL语言。
SQL是一个标准的关系型数据库语言,其他的像mysql、oracle等关系型数据库都在SQL的基础上进行了少量的修改,它们之间的关系有点像普通话与北方方言(南方发言与普通话差距太大)的关系。
-
MySQL中的SQL语句规范:
每一条语句都必须以英文分号
;
结尾;关键字、函数推荐全部用大写;
数据库、表、字段的名称推荐都用小写。
三、MySQL的安装
注意:从Ubuntu20.04LTS 开始就默认不支持MySQL5.X版本了!
Ubuntu18.04LTS下安装MySQL5.7:
-
打开链接:https://dev.mysql.com/downloads/repo/apt/,点击Download;
-
点击**No thanks, just start my download.**下载deb包。
-
在deb包所在文件夹下打开Ubuntu终端,进行安装:
sudo dpkg -i 下载的deb包
输入密码。
-
按上下键选择,回车确认。
在第一项按回车,配置要安装的MySQL版本:
选择5.7版本,回车:
设置完成,选择OK,回车:
-
更新apt仓库:
sudo apt update
-
安装MySQL5.7:
sudo apt install mysql-server
-
设置MySQL的管理员密码,输入密码后回车,之后还要再输一次:
MySQL安装完成。
四、启动和退出MySQL客户端
-
启动客户端:
再终端中输入:
mysql -h 主机 -P 端口号 -u MySQL用户名 -p 输入密码
注意:第一个是大写的P,第二个是小写的p。
-h 主机
和-P 端口号
默认为本机IP和3306,可以不写。MySQL默认用户的用户名为root,这也是默认管理员用户名。
-
退出客户端:
在mysql客户端输入:
QUIT; # 或者 EXIT;
五、修改配置文件
-
使用vim编辑器打开MySQL的配置文件:
sudo vim /etc/mysql/my.cnf
写入一行
[mysqld]
,表示该行下面都是服务端的配置信息;同理,写入一行[client]
,表示下面是客户端的配置信息。注意:修改配置文件后,需要重启MySQL服务,才能生效:
service mysql restart
-
指定账户自动登录(偷懒用,注意安全):
[mysql] usern="用户名" password=密码
之后就可以直接通过
mysql
命令登录MySQL客户端。
六、修改字符编码
windows下默认为gbk,unix类系统下为utf8。MySQL在5.5.3 之后增加了utf8mb4字符编码,简单说utf8mb4是utf8的超集并完全兼容utf8,能够用四个字节存储更多的字符。
-
修改字符编码为utf8mb4:
编辑配置文件,修改或添加以下内容
[mysqld] character-set-server=utf8mb4 [mysql] default-character-set=utf8mb4 [client] default-character-set=utf8mb4
-
已有的库和表更改为utf8mb4:
在MySQL客户端中,输入
#更改数据库编码: ALTER DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; #更改表编码: ALTER TABLE 表名CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # 如有必要,还可以更改列的编码
七、修改用户密码的三种方法
-
登录MySQL客户端,输入:
SET PASSWORD FOR 用户名@主机 = PASSWORD('新密码');
-
直接在终端运行以下命令:
mysqladmin -u用户名 -p原密码 password 新密码; 再次输入原密码
-
在MySQL客户端下输入:
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE user='用户名' ;
修改用户信息后,通常要进行刷新:
FLUSH PRIVILEGES;
八、忘记密码
-
编辑MySQL的配置文件:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
-
在最后加入一行:
skip-grant-tables
-
重启MySQL服务:
sudo service mysql restart
-
登录MySQL客户端,提示输入密码时,直接回车:
mysql -u root -p
-
设置新密码:
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE user='用户名';
-
退回到终端,执行第一步,将加入配置文件的那一行配置信息删掉;
-
执行第三步,重启MySQL服务。
完成密码的找回。