基本配置就完成了
登陆mysql语法:
mysql -u用户名 -p当前密码 -h服务器的ip
(客户端才需要指定ip,并且服务端需要配置)【登陆当前服务器,不需要-h】
记住:选项和后面的值是没有空格的
- 不需要指定用户和么有密码直接输入mysql ,进入mysql的子系统:
在mysql中即可执行若干命令;
查看mysq详细
status
命令结尾说明
注:在mysql提示符下敲命令的时候,一般都要以;
或者\G
结束,更多的时候使用 ;
结束,\G
一般用户格式化输出,如果没有以 ;
结束的话,系统就会认为命令没有完成,不执行。 凡事以#
或者--
开头的语句,都认为是注释。
- 以
;
结尾
- 以
\G
结尾(会格式化并排版)
所以如果命令太长的话,可以任意的换行。
查看所有库
所谓的库–> 可以把她理解为 文件夹(担文件夹不能再建文件夹), 在这个库里,存有多个excel表格,这个excel表格就是我们所说的表。
show databases;
查看当前所属库
为NULL就是当前不属于任何库:select database();
进入到某个库
use 库名;
创建新的库
create databases 新建库名;
查询某个库的详细信息
show create database 需查询库名;
导入数据
先进入一个库,然后使用source 数据路径【虚拟机中路径】
即可
MariaDB [(none)]> use legacy
Database changed
MariaDB [legacy]> source /root/mariadb.dump; # 导入数据
Query OK, 0 rows affected (0.00 sec)
MariaDB [legacy]> show tables;
±-----------------+
| Tables_in_legacy |
±-----------------+
| category |
| manufacturer |
| product |
±-----------------+
3 rows in set (0.00 sec)
修改某个库的 编码
show create database 库名 character set 编码(charset=编码 亦可);
删除某个库
drop database 需删除的库名;
复制表
create table bb as select * from aa;
现在aa中的数据就复制到bb里了
复制表结构
create table cc like aa;
现在aa表的结构就复制到cc里了
复制表内容(一般用于复制表结构后使用)
insert into cc select * from aa;
现在aa表里的内容就复制到cc里了
查看mysql所有内置参数
show variables
注:如果需要调优mysql中的某些参数,查看后写入到配置文件中时,需要把下划线改为中横线,如:show variables list "%char%set%ser%";
(%是通配符,1个或多个)
写入配置文件中后,下划线变为中横线:
更加详细的参考博客:MySQL使用大全和JDBC使用_五万字的详细笔记
介绍
- 登陆mysql语法:
mysql -u用户名 -p当前密码 -h服务器的ip
【登陆当前服务器,不需要-h】
记住:选项和后面的值是没有空格的
mysqladmin是操作系统命令。
mysql 进入子系统后
查看当前登陆用户
select user();
查看所有用户信息
desc mysql.user;
但只有前三项才需要关注,所以过滤一下:select user,host,password from mysql.user;
如:host字段指的是 允许这个用户可以从哪个客户端登陆。
user@host
这样才算是一个完整的用户
修改mysql用户密码
修改单独用户密码:
- 方法一:
mysqladmin -uroot -p当前密码 password '新密码'
如果当前用户没有密码的话,-p 是可以不写的。
- 方法二:
set password for 指定的用户=password('新密码');
如果不需要指定用户:set password=password('新密码');
- 方法三:
update mysql.user set password=password('新密码') where user='user用户名' and host='host名' ;
该方法有风险,如果where及后面的内容没写,就是修改所有表用户的密码了
利用该方法修改密码后,刷新一下 新密码才可以用:flush privileges;
修改所有用户的密码
update mysql.user set password=password('新密码');
就是修改表的形式。
利用该方法修改密码后,刷新一下 新密码才可以用:flush privileges;
忘记密码后处理
比如 忘记了mysqlroot密码,需要重置该密码;
- 方法一:
vi /etc/my.cnf
在里面加入一行:skip-grant-tables
这样再次进入就相当于进入安全模式了,再次进入就不需要密码了
重启服务:systemctl restart mariadb
然后直接mysql即可进入系统,再次以当前无密码的方式设置密码即可:
注:安全模式不能以该方法修改,会报错:set password=password('新密码');
只能以修改表方式:update mysql.user set password=password('新密码') where user='root' and host='localhost';
然后刷新:flush privileges;
quit
退出mysql,再次vi /etc/my.cnf
,把skip-grant-tables
删除或者注释掉
重启服务:systemctl restart mariadb
密码重置完成。
- 方法二:
先停止mariadb服务:systemctl stop mariadb
以安全模式进入mariadb:mysqld_safe --skip-grant-tables
此时当前窗口是无法做任何操作了,所以需要复制一个当前窗口,在新窗口中进入mysql系统便不需要密码了,然后在里面用表方式修改密码并刷新即可:
update mysql.user set password=password('新密码') where user='root' and host='localhost';
然后刷新:flush privileges;
quit
退出数据库。但此时,以安全模式进入mariadb的窗口是无法结束的,即使ctrl+c 也不行,只能通过kill杀死进程:killall -9 mysqld_safe
安全模式进入那窗口显示:
然后启动mariadb服务:systemctl start mariadb
, 重置完成。
新建mysql用户
新建一个默认用户
create user 新建用户名;
删除默认用户
drop user 需删除用户名;
指定host创建用户
create user 用户名@'host名称';
删除指定host用户
drop user 用户名@'host名称';
grant 创建用户说明
- 一般情况下是不建议使用create创建用户的,而是使用grant来创建用户,使用格式:
不带密码:grant p1(权限),p2,p3,... on 库.表 to 用户@IP(能登陆该用户ip) ;
带密码:grant p1(权限),p2,p3,... on 库.表 to 用户@IP(能登陆该用户ip) identified by '密码';
其中,如果想要所有权限(p)则使用all
或all privileges
,所有库和所有表使用 *
- 查看可使用权限(p),
show privileges;
- grant 创建带密码用户
创建一个用户,权限只有select,能使用aa库中的所有表,只能200登陆,密码为redhait
grant 权限 on aa.* to 用户@ip identified by '密码';
ip尾号为200的客户端使用tom用户登陆测试:
- grant 创建不带密码用户
也可以理解为给该用户添加权限;
grant 权限 on aa.* to 用户@ip;
- 回收grant创建的权限
revoke p1(权限),p2,... 库.表 from 用户名@IP;
用户权限设置
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
更多笔记分享
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
[外链图片转存中…(img-UnBkW3Up-1712648289170)]
[外链图片转存中…(img-2SgCUam8-1712648289170)]
[外链图片转存中…(img-Ys3lD0uV-1712648289171)]
更多笔记分享
[外链图片转存中…(img-21opW2sj-1712648289171)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!