学校网站模板注意事项软件开发流程管理系统
1、MySQL概述
MySQL官方网站
 https://www.mysql.com/downloads/
MySQL被Oracle公司收购了,作者又重新编写了一个开源的数据库管理系统,Mariadb
 
 
 2、MySQL产品&版本
 
2、数据库在网站架构中的角色
LAMP
 LNMP网站架构
 
3、安装MySQL-基于yum
查看MySQL信息
查询mysql相关的软件包信息
 
 查询mysql-server的软件信息
 
 2、安装mysql-server
 [root@candy-nginx202 ~]# yum install mysql-server -y
 
 3、查询mysql-server是否安装成功
 [root@candy-nginx202 ~]# rpm -q mysql-server

 [root@candy-nginx202 ~]# rpm --help |grep ‘-q’
 
 检查防火墙是否关闭
 sestatus
 
 systemctl status firewalld
 
 iptables -vnL
 
 4、启动MySQL,查看进程数量
[root@candy-nginx202 ~]# systemctl start mysqld
 [root@candy-nginx202 ~]# ps axu | grep mysqld
 
 [root@candy-nginx202 ~]# ps -efL | grep mysqld
 
 [root@candy-nginx202 ~]# ps -efL | grep -c mysqld
 
5、登录数据库系统
输入mysql指令即可登录MySQL数据库
 
 6、查询mysql库的user表的user、host、authentication_string字段的数据库信息
[root@candy-nginx202 ~]# mysql
 
 mysql> select user,host,authentication_string from mysql.user;
 
 
4、MySQL数据库常用指令
MySQL数据库常用命令涵盖了一系列操作,包括但不限于数据库的创建与管理、数据表的操作、数据的增删改查、用户权限管理以及服务器的维护等。以下是一些基础且常用的MySQL命令示例:
 mysql -u 用户名 -p
 输入命令后,系统会提示输入密码。、
 在MySQL命令行界面输入:
 quit 或 exit
2、显示所有数据库
SHOW DATABASES;
 
3、创建数据库
CREATE DATABASE 数据库名;
 
4、删除数据库
DROP DATABASE 数据库名;
 
5、使用指定数据库
USE 数据库名;
 
6、显示当前数据库中的所有表
SHOW TABLES;
 
7、创建表
CREATE TABLE 表名 (
 列1 数据类型,
 列2 数据类型,
 …
 列n 数据类型,
 PRIMARY KEY (主键列名)
 );
 
8、删除表
DROP TABLE 表名;
 
9、插入数据
INSERT INTO 表名 (列1, 列2, …, 列n)
 VALUES (值1, 值2, …, 值n);
 
10、查询数据
SELECT 列1, 列2, …, 列n
 FROM 表名
 WHERE 条件;
 筛选大于等于20岁的学生
 
11、更新数据
UPDATE 表名
 SET 列1 = 新值1, 列2 = 新值2, …, 列n = 新值n
 WHERE 条件;
 将年龄22岁的学生修改名字和邮箱
 
12、删除数据
DELETE FROM 表名
 WHERE 条件;
 删除年龄为22岁的所有学生记录
 
13、创建索引
CREATE INDEX 索引名
 ON 表名 (列名);
 
 可以创建多个复合索引
 
 您还可以为多个列创建复合索引,以便基于这些列的组合来加速查询
 
14、删除索引
DROP INDEX 索引名
 ON 表名;
 
 
 15、显示表结构
 DESCRIBE 表名;
 
 
 Field 列显示了列名。
 Type 列显示了列的数据类型。
 Null 列显示了该列是否允许NULL值。
 Key 列显示了该列是否被索引(PRI表示主键,UNI表示唯一索引,MUL表示非唯一索引)。
 Default 列显示了列的默认值(如果有的话)。
 Extra 列提供了额外的信息,如 auto_increment 表示该列是自动递增的,CURRENT_TIMESTAMP 表示该列在插入新记录时会自动设置为当前时间戳。
16、显示存储过程
SHOW PROCEDURE STATUS;
17、创建存储过程
DELIMITER //
 CREATE PROCEDURE 存储过程名()
 BEGIN
 – 存储过程体
 END //
 DELIMITER ;
DELIMITER 关键字被用来改变命令分隔符,以便在存储过程体内部可以包含多个分号(;),而不会被MySQL解释器错误地解释为命令的结束。

18、调用存储过程
CALL 存储过程名();
 
19、显示存储过程的定义
SHOW CREATE PROCEDURE 存储过程名;
20、删除存储过程
DROP PROCEDURE 存储过程名;
 这些命令仅涵盖了MySQL数据库的基本操作。实际应用中,您可能还需要使用更高级的SQL语句和功能。建议查阅MySQL官方文档以获取更多详细信息和示例。
创建用户并授权
创建一个用户newuser,并授予所有权限:
 grant all privileges on *.* to 'newuser'@'%' identified by 'password';
 
试图为新用户newuser授予所有权限,并允许该用户从任何主机(% 表示所有主机)连接到MySQL服务器,同时设置密码为password。
 
 授予所有用户权限:
 
 修改用户密码
 修改newuser的密码:
  alter user 'newuser'@'%' identified by 'newpassword';
 
修改用户 newuser(从任何主机 % 连接)的密码为 newpassword
 
 回收权限
 回收newuser的所有权限:
  revoke all privileges, grant option from 'newuser'@'%';
 
先撤销所有全局权限,然后删除用户,再重新创建用户(如果需要的话),因为直接撤销所有权限可能比较复杂。
 
 my.cnf配置文件
 [root@candy-nginx202 binlog]# cat /etc/my.cnf
[client]
# 设置客户端字符集
default-character-set=utf8mb4[mysql]
# 设置mysql客户端连接默认字符集
default-character-set=utf8mb4[mysqld]
# 设置服务器端字符集和校验规则
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci# 开启独立表空间
innodb_file_per_table=1# 开启二进制日志,并设置路径
server-id=1 # 必须设置,用于GTID和主从复制
log_bin=/var/lib/mysql/binlog/mysql-bin.log # 替换为实际的日志存放路径
binlog_format=ROW # 使用ROW格式,支持GTID# 开启GTID
gtid_mode=ON
enforce_gtid_consistency=true
# 如果是新部署的MySQL实例,可以不需要下面这行。如果是已有实例迁移到GTID,则需要执行全备恢复后加上
# init_sql='SET @@GLOBAL.GTID_PURGED="uuid:1-1";' # 替换uuid和序号为你自己的GTID# 可能还需要调整其他与GTID相关的设置,如auto_position等,具体根据实际情况和需求来定
 
5.4、查看数据目录大小
 [root@candy-nginx202 ~]# cd /var/lib/mysql
 [root@candy-nginx202 mysql]# du -sh /var/lib/mysql/candy
 2.8G /var/lib/mysql/candy
 [root@candy-nginx202 mysql]# du -sh /var/lib/mysql/binlog
 4.3G /var/lib/mysql/binlog
5.5、查看服务器硬件配置
 grep -c processor /proc/cpuinfo
 
 free -g
 
 fdisk -l | grep [sh]d
 
 还应该使用其他命令,查看服务器的具体硬件信息,比如服务器型号,CPU核心,RAID配置,内存配置等。
