安装好mysql后有一个重要的配置文件/etc/my.cnf
[root@master ~]# cat /etc/my.cnf
[mysqld_safe]
[client]
socket=/data/mysql/mysql.sock
[mysqld]
socket=/data/mysql/mysql.sock
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8mb4
#二进制日志
log_bin
server_id=1
#开启半同步
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000 #1秒
#开启gtid
gtid-mode=ON
enforce-gtid-consistency=ON
log-slave-updates=on
[mysql]
auto-rehash
prompt=\u@\d \R:\m mysql>
#解释三者之间的关系
mysqld_safe
mysqld
mysql:是客户端的连接程序
##实验:创建用户-使用-文件类型
##创建(数据库--》linux一切都是文件)文件夹
create database sc
root@(none) 17:31 mysql>create database sc;
Query OK, 1 row affected (0.00 sec)
#使用sc这个数据库
root@(none) 17:32 mysql>use sc
Database changed
#查看表的结构
root@sc 17:35 mysql>desc student_info;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| sex | char(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
##查看sc库的文件内容
[root@mysql2 sc]# ls
db.opt student_info.frm student_info.ibd
db.opt 就是database option 数据库选项 --》作用:告诉我们这个库使用的字符串是什么
[root@sc-mysql sc]# cat db.opt
default-character-set=utf8 默认字符集
default-collation=utf8_general_ci 默认字符集对应的校对规则: 排序的时候使用的
student_info.frm --》表结构文件 frame 框架
student_info.ibd --》表的数据和索引 innodb data --》MySQL默认使用的存储引擎是innodb: 将MySQL内存里的数据存放到磁盘,将磁盘里的数据读取到内存。
mysql里的存储引擎:
innodb --》默认
myisam
索引:
index 也是数据,是描述数据的数据,告诉我们数据存放的哪里,一本书里的目录
帮助我们可以快速的查询到数据
提升查询的效率
##查看表的方式:
root@sc 18:36 mysql>desc student_info;
show create table student_info;
root@sc 17:36 mysql>show create table student_info;
存储引擎是捆绑到表上的
root@sc 18:38 mysql>create table weicanyu(id int,name varchar(10)) engine=myisam;
Query OK, 0 rows affected (0.00 sec)
[root@mysql2 sc]# ls
db.opt student_info.ibd weicanyu.MYD
student_info.frm weicanyu.frm weicanyu.MYI
weicanyu.frm --》表结构文件 frame 框架
weicanyu.MYD --》myisam存储引擎存放数据的 data
weicanyu.MYI --》myisam存储引擎存放索引 index
[root@sc-mysql sc]# yum install psmisc -y
===
socket 是进程是进程之间通信的方式 -->槽
1.文件socket
2.网络socket
进程和进程之间的通信方式:
管道:pipe
命名管道: named pipe
信号:signal
信号量Semaphor
共享内存Shared Memory
消息队列Message Queue
套接字 Socket
#信号和信号量之间的区别
##文件socket只有本机
##网络socket ,远程连接数据库
root@localhost
cali@'%'
% 是通配符,代表任意的字符串
root@(none) 16:36 mysql>create user 'cali'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
root@(none) 16:37 mysql>grant all on *.* to 'cali'@'%';
grant 是mysql里授权的命令
all 代表授予所有的权限 select insert update delete等
on *.* 第1个* 代表库 第2个*代表表
to 'cali'@'%' 给具体的用户=
root@(none) 16:40 mysql>
[root@sc-mysql ~]# mysql -ucali -p'123456' -h 192.168.77.134
-h hosts
-p password
-u users
##查看数据库上有哪些人连上去
cali@(none) 20:03 mysql>show processlist;
+----+------+---------------------+-----------+---------+------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+---------------------+-----------+---------+------+----------+------------------+
| 7 | root | localhost | sc | Sleep | 1250 | | NULL |
| 11 | cali | 192.168.0.110:36752 | NULL | Query | 0 | starting | show processlist |
| 12 | cali | 192.168.0.1:49306 | wangshuai | Sleep | 109 | | NULL |
| 13 | cali | 192.168.0.1:49308 | NULL | Sleep | 251 | | NULL |
+----+------+---------------------+-----------+---------+------+----------+------------------+
4 rows in set (0.00 sec)
===
如何知道自己的MySQL的版本
1.直接登陆,可以看到
2.使用命令
root@(none) 09:38 mysql>select version();
+-----------+
| version() |
+-----------+
| 5.7.37 |
+-----------+
1 row in set (0.04 sec)
思考: 为什么需要这些系统? (dba)
1.更好管理数据
2.分类
3.方便操作,不易出错
4.效率高
5.对人的经验要求可以降低
6.节约成本
##查看版本的方式--》
1.刚进入系统的时候,2.mysql>select version
cali@(none) 20:05 mysql>select version
-> ();
+------------+
| version
() |
+------------+
| 5.7.38 |
+------------+
1 row in set (0.00 sec)