一、启动和停止mysql服务
1、手动启动和停止mysql服务
1)、ctrl + R 命令打开运行窗口
2)、输入框中输入services.msc命令
3)、单机任意一个名称,输入mysql既可以找到mysql服务
选中mysql服务,右键即可启动或停止mysql服务。
2、用命令启动和停止mysql服务
1)、win10系统使用管理员身份打开powershell
我们可以在Windows10系统的开始菜单上,单击鼠标右键,这时候出现的菜单中,我们选择windows powershell(管理员)点击打开这样即可。
2)、启动mysql服务:
net start MYSQL57
注意服务名要与服务窗口中的服务名称一样。
刷新服务列表后,此时服务窗口中MYSQL57服务如下:
3)、停止mysql服务
net stop MYSQL57
刷新服务列表后,此时服务窗口中MYSQL57服务如下:
二、登录mysql服务
1、连接本地的mysql服务
mysql -u用户名 -p密码
注意:u 和 p 后面没有空格
后输入密码方式:
mysql -uroot -p
可以看到mysql的版本为5.7.17
退出mysql服务:exit或quit
exit
2、连接远程mysql服务
mysql -hip地址 -u用户名 -p密码
或
mysql --host=127.0.0.1 --user=root --password=123456
如果端口不为3306
mysql --host=127.0.0.1 --port=13306 --user=root --password=123456
3、最大连接数
查看最大连接数
show variables like '%max_connections%';
修改最大连接数
set GLOBAL max_connections = 200;
三、备份和还原
1、备份的应用场景
在服务器进行数据传输、数据存储和数据交换,就有可能产生数据故障。比如发生意外停机或存储介质损坏。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失,造成的损失是无法弥补与估量的。
2、备份与还原的语句
备份格式:DOS 下,未登录的时候。这是一个可执行文件 exe,在 bin 文件夹,cmd进入D:\install\mysql-8.0.26-winx64\bin,执行以下语句
mysqldump -u 用户名 -p 密码 数据库 > 文件的路径
如:
-- 备份 day21 数据库中的数据到 d:\day21.sql 文件中
mysqldump -uroot -proot day21 > d:/day21.sql
导出结果:数据库中的所有表和数据都会导出成 SQL 语句。
还原格式:mysql 中的命令,需要登录后才可以操作
USE 数据库;
SOURCE 导入文件的路径;
还原 day21 数据库中的数据,注意:还原的时候需要先登录 MySQL,并选中对应的数据库。
1)、删除 day21 数据库中的所有表
2)、登录 MySQL
3)、选中数据库
4)、使用 SOURCE 命令还原数据
5)、查看还原结果
use day21;
source d:/day21.sql;
3、图形化界面备份与还原
备份数据库中的数据
1)、选中数据库,右键 ”转储sql文件”
2)、选择“数据与结构”,保存成.sql 文件即可。
还原数据库中的数据
选中数据库,右键“运行SQL文件”, 指定要执行的 SQL 文件,执行即可。
四、授权和撤消
我们现在默认使用的都是 root 用户,超级管理员,拥有全部的权限。但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库。所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。
注:mysqld 是 MySQL 的主程序,服务器端。mysql 是 MySQL 的命令行工具,客户端。
1、创建用户
语法:
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
关键字说明:
具体操作:
创建 user1 用户,只能在 localhost 这个服务器登录 mysql 服务器,密码为 123
create user 'user1'@'localhost' identified by '123';
创建 user2 用户可以在任何电脑上登录 mysql 服务器,密码为 123
create user 'user2'@'%' identified by '123';
注:创建的用户名都在 mysql 数据库中的 user 表中可以查看到,密码经过了加密。
2、给用户授权
用户创建之后,没什么权限!需要给用户授权
语法:
GRANT 权限 1, 权限 2... ON 数据库名.表名 TO '用户名'@'主机名';
关键字说明:
给 user1 用户分配对 test 这个数据库操作的权限:创建表,修改表,插入记录,更新记录,查询
grant create,alter,insert,update,select on test.* to 'user1'@'localhost';
注:用户名和主机名要与上面创建的相同,要加单引号。
给 user2 用户分配所有权限,对所有数据库的所有表
grant all on *.* to 'user2'@'%';
刷新
flush privileges;
3、撤销授权
语法:
REVOKE 权限 1, 权限 2... ON 数据库.表名 revoke all on test.* from 'user1'@'localhost'; '用户名'@'主机 名';
关键字说明:
撤销 user1 用户对 test 数据库所有表的操作的权限
revoke all on test.* from 'user1'@'localhost';
注:用户名和主机名要与创建时相同,各自要加上单引号
4、查看权限
语法:
SHOW GRANTS FOR '用户名'@'主机名';
查看 user1 用户的权限
注:usage 是指连接(登陆)权限,建立一个用户,就会自动授予其 usage 权限(默认授予)。
5、删除用户
语法
DROP USER '用户名'@'主机名';
删除 user2
drop user 'user2'@'%';
6、修改管理员密码
语法
mysqladmin -uroot -p password 新密码
注意:需要在未登陆 MySQL 的情况下操作,新密码不需要加上引号。
1)、 将 root 管理员的新密码改成 123456
2)、 要求输入旧密码
3) 、使用新密码登录
7、修改普通用户密码
语法:
set password for '用户名'@'主机名' = password('新密码');
注意:需要在登陆 MySQL 的情况下操作,新密码要加单引号。
使用新密码登录,老密码登录不了