赞
踩
目录
前言:学习B站阳哥视频的笔记
数据库内部结构和原理
数据库建模优化
数据库索引建立
SQL 语句优化
SQL 编程(自定义函数、存储过程、触发器、定时任务)
mysql 服务器的安装配置
数据库的性能监控分析与系统优化
各种参数常量设定
主从复制
分布式架构搭建、垂直切割和水平切割
数据迁移
容灾备份和恢复
shell 或 python 等脚本语言开发
对开源数据库进行二次开发
- 1、下载rpm文件:地址是https://dev.mysql.com/downloads/mysql/
-
- 2、下载四个文件:(选择对应的版本)按照顺序来
-
- (mysql-community-common-5.7.30-1.el7.x86_64.rpm)
- (mysql-community-libs-5.7.30-1.el7.x86_64.rpm)
- (mysql-community-server-5.7.30-1.el7.x86_64.rpm)
- (mysql-community-client-5.7.30-1.el7.x86_64.rpm)
-
- 3、执行命令安装
- 如果存在冲突或者缺少依赖:卸载: rpm -e --nodeps mysql-community-common-8.0.19-1.el7.x86_64
-
- sudo rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
- sudo rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
- sudo rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
- sudo rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
- 到这里默认就安装结束,同时已经启动mysql的服务
-
- 数据库目录:/var/lib/mysql/
- 命令配置:/usr/share/mysql (mysql.server命令及配置文件)
- 相关命令:/usr/bin (mysqladmin mysqldump等命令)
- 启动脚本:/etc/rc.d/init.d/ (启动脚本文件mysql的目录)
- 系统配置:/etc/my.conf
-
-
-
- 4、查看mysql运行状态,并重启
- systemctl status mysqld
- systemctl restart mysqld
- 5、重置密码
- 5.1:vim /etc/my.cnf
- 5.2:在最后加上: skip-grant-tables
- 5.3:重启mysql服务: systemctl restart mysqld
- 5.4: mysql -u root-p 不需要输入密码直接enter即可
- 5.5:设置root账号的密码:
- 设置密码:update mysql.user set authentication_string=password('123456') where user='root' ;
- 刷新:FLUSH PRIVILEGES;
- 5.6:退出mysql:将之前加入的跳过密码验证删掉
- 命令:vim /etc/my.cnf
- 把skip-grant-tables去掉
- 5.7: 重新登录数据库
- 执行命令出现不能操作情况:show databases;
- 修改密码即可:alter user 'root'@'localhost' identified by 'Root123.@';
- 5.8:外部不能连接问题
- use mysql
- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root123.@' WITH GRANT OPTION;
- flush privileges;刷新
frm文件:存放表结构;
myd文件:存放表数据
myi文件:存放表索引
如何配置:
windows:my.ini文件:
linux: /etc/my.cnf
1、 二进制日志log-bin,主重复制
2、错误日志log-error,默认是关闭的,记录严重的警告和错误信息,每次启动和关闭的详细信息等.
3、查询日志log,默认关闭,记录查询的sql语句,如果开启会减低mysql的整体性能,因为记录日志也是需要消耗系统资源的
4、数据文件
windows: D:\ProgramFiles\MySQL\MySQLServer5.5\data目录下可以挑选很多库
linux: 看看当前系统中的全部库后再进去: 默认路径:/var/lib/mysql
- -- 创建名称为 zhang3 的用户,密码设为 123123;--
- create user zhang3 identified by '123123';
-
- -- 查看用户和权限的相关信息--
- select host,user,select_priv,insert_priv,drop_priv from mysql.user where user='zhang3';
-
- select * from mysql.user where user='zhang3';
-
- -- 所有通过user 表的修改,必须用flush privileges;命令才能生效
- update mysql.user set authentication_string=password('123') where user='zhang3';
-
- flush privileges;
-
- -- 所有通过user 表的修改,必须用flush privileges;命令才能生效
- update mysql.user set user='li4' where user='zhang3';
-
- -- 不要通过delete fromuseruwhere user='li4' 进行删除,系统会有残留信息保留。
- drop user li4
host :表示连接类型
% 表示所有远程通过 TCP 方式的连接
IP 地址 如 (192.168.1.2,127.0.0.1) 通过制定 ip 地址进行的 TCP 方式的连接机器名 通过制定 i 网络中的机器名进行的 TCP 方式的连接
::1 IPv6 的本地 ip 地址 等同于 IPv4 的 127.0.0.1
localhost 本地方式通过命令行方式的连接 ,比如 mysql -u xxx -p 123xxx 方式的连接。user:表示用户名
同一用户通过不同方式链接的权限是不一样的。
password:密码
所有密码串通过 password(明文字符串) 生成的密文字符串。加密算法为MYSQLSHA1 ,不可逆。mysql 5.7 的密码保存到 authentication_string 字段中不再使用 password 字段。select_priv , insert_priv 等
为该用户所拥有的权限。
- create database test default character set utf8mb4 collate utf8mb4_unicode_ci;
- use litemall;
-
- create user 'yg'@'%' identified by 'yg123456';
-
- 1.授予权限
- grant all privileges on test.* to 'yg'@'%';
- flush privileges;
-
- 2.收回权限
-
-
- 收回部分权限
- REVOKE select,insert ON test.* FROM 'yg'@'%';
-
- 收回全库全表的所有权限
- REVOKE ALL PRIVILEGES ON mysql.* FROM 'yg'@'%';
-
- 3.查看权限
- show grants for yg
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。