MySQL安装,卸载,配置,事务,用户管理

MySQL安装

选择安装类型,有“Typical(默认)”、“Complete(完全)” 、“Custom(用户自定义)”三个选项,选择“Custom”,按“next”键继续操作.
在这里插入图片描述
一般选择自定义安装(Custom)可以修改数据库系统安装目录,否则默认安装在C:\Program Files (x86)\MySQL\MySQL Server 5.0下.
在这里插入图片描述
数据库安装好了还需要对数据库进行配置才能使用 MYSQL 的配置,这个复选框不要去掉,这个是进入MySQL的配置向导,修改它的字符编码,端口号…
在这里插入图片描述
选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard onfiguration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。
在这里插入图片描述
选择服务器类型,“Developer Machine(开发测试类,mysql 占用很少资源)”、“Server Machine(服务器类型,mysql 占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql 占用所有资源)" 这里也默认即可,我们是安装在自己的电脑上的.
在这里插入图片描述
选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”
、“Transactional Database Only(服务器类型,专注于事务处理,一般)”
、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对 MyISAM 数据类型的支持仅限于 non-transactional),按“Next”继续。
在这里插入图片描述
选择网站并发连接数,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)“Online ” 、 Transaction Processing(OLTP)(500 个左右)” 、“Manual Setting(手动设置,自己输一个数)”.
在这里插入图片描述
是否启用 TCP/IP 连接,设定端口,如果不启用,就只能在自己的机器上访问 mysql 数据库了,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样 MySQL 就不会允许细小的语法错误。如果是新手,建议您取消标准模式以减少麻烦。但熟悉 MySQL 以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。按“Next”继续.
在这里插入图片描述
就是对 mysql 默认数据库语言编码进行设置(重要),一般选 utf8,按 “Next”继续。
在这里插入图片描述
选择是否将 mysql 安装为 windows 服务,还可以指定 Service Name(服务标识名称),是否将 mysql 的 bin目录加入到 Windows PATH(加入后,就可以直接使用 bin 下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出 mysql.exe 的完整地址,很方便),我这里全部打上了勾,Service Name 不变。按“Next”继续。
在这里插入图片描述
询问是否要修改默认 root 用户(超级管理)的密码。“Enable root access from remote machines(是否允许 root 用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“CreateAn Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”一般就不用勾了,设置完毕,“Next”继续。
在这里插入图片描述
确认设置无误,按“Execute”使设置生效,即完成 MYSQL 的安装和配置。

MySQL卸载

  1. 去mysql的安装目录找到my.ini文件,复制数据库存放路径,这个目录的数据需要手动删除 : datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
  2. 关闭MySQL服务
  3. 通过软件或者系统自带的卸载程序 - 卸载MySQL软件
  4. 删除C:/ProgramData目录下的MySQL文件夹。

MySQL配置

  • MySQL服务启动
1. cmd--> services.msc 打开服务的窗口
2. 使用管理员打开cmd
  net start mysql : 启动mysql的服务
  net stop mysql:关闭mysql服务

MySQL登录

  1.  mysql -uroot -p密码
  2.  mysql -hip -uroot -p连接目标的密码
  3.  mysql --host=ip --user=root --password=连接目标的密码
  • MySQL退出 : exit 或者 quit

事务管理

简介: 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。
操作start transaction 开启事务 rollback 回滚 rollback 提交

-- 事务案例
CREATE TABLE account (
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(10),
    balance DOUBLE
);
-- 添加数据
INSERT INTO account (NAME, balance) VALUES ('zhangsan', 1000), ('lisi', 1000);
SELECT * FROM account;
UPDATE account SET balance = 1000;
-- 张三给李四转账 500 元
-- 0. 开启事务
START TRANSACTION;
-- 1. 张三账户 -500
UPDATE account SET balance = balance - 500 WHERE NAME = 'zhangsan';
-- 2. 李四账户 +500
出错了...
UPDATE account SET balance = balance + 500 WHERE NAME = 'lisi'
-- 发现执行没有问题,提交事务
COMMIT
-- 发现出问题了,回滚事务
ROLLBACK;

MySQL数据库中事务默认自动提交

  • 修改事务的默认提交方式
  • 查看事务的默认提交方式:SELECT @@autocommit; – 1 代表自动提交 0 代表手动提交
  • 修改默认提交方式: set @@autocommit = 0;

事务的四大特征:

  1. 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败
  2. 持久性:当事务提交或回滚后,数据库会持久化的保存数据。
  3. 隔离性:多个事务之间。相互独立。
  4. 一致性:事务操作前后,数据总量不变

事务的隔离级别:多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题.
存在问题:

  1. 脏读:一个事务,读取到另一个事务中没有提交的数据.
  2. 不可重复读(虚读):在同一个事务中,两次读取到的数据不一样。.
  3. 幻读:一个事务操作(DML)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改。

隔离级别:

  • read uncommitted:读未提交 产生的问题:脏读、不可重复读、幻读
  • read committed:读已提交 (Oracle) 产生的问题:不可重复读、幻读
  • repeatable read:可重复读 (MySQL默认) 产生的问题:幻读
  • serializable:串行化 可以解决所有的问题

注意:隔离级别从小到大安全性越来越高,但是效率越来越低

  • 数据库查询隔离级别: select @@tx_isolation;
  • 数据库设置隔离级别: set global transaction isolation level 级别字符串;
-- 演示
set global transaction isolation level read uncommitted
start transaction
-- 转账操作
update account set balance = balance - 500 where id = 1
update account set balance = balance + 500 where id = 2;

用户管理:

  • DBA:数据库管理员
  • DCL:管理用户,授权
-- 1. 添加用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
-- 2. 删除用户
DROP USER '用户名'@'主机名'; 
-- 3. 修改用户密码 
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';
UPDATE USER SET PASSWORD = PASSWORD('abc') WHERE USER = 'lisi';
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123')

mysql中忘记了root用户的密码?

  1. cmd – > net stop mysql 停止mysql服务 需要管理员运行该cmd
  2. 使用无验证方式启动mysql服务: mysqld --skip-grant-tables
  3. 打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功
  4. use mysql;
  5. update user set password = password(‘你的新密码’) where user = ‘root’;
  6. 关闭两个窗口
  7. 打开任务管理器,手动结束mysqld.exe 的进程
  8. 启动mysql服务
  9. 使用新密码登录
    *查询用户:
  10. 切换到mysql数据库 USE myql;
  11. 查询user表 SELECT * FROM USER;

通配符: % 表示可以在任意主机使用用户登录数据库

权限管理:

  1. 查询权限:
SHOW GRANTS FOR '用户名'@'主机名'
SHOW GRANTS FOR 'lisi'@'%';
  1. 授予权限:
-- 授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
 给张三用户授予所有权限,在任意数据库任意表上
GRANT ALL ON *.* TO 'zhangsan'@'localhost';
  1. 撤销权限:
-- 撤销权限:
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
REVOKE UPDATE ON db3.`account` FROM 'lisi'@'%';
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CDHong.it

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值