mariaDB(数据库)-安装设置和使用

打印 上一主题 下一主题

主题 858|帖子 858|积分 2574

根本设置就完成了
mysql使用及常用下令

登陆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最根本的使用

更加具体的参考博客:MySQL使用大全和JDBC使用_五万字的具体笔记
mariadb的用户管理

先容



  • 登陆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)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲授视频、实战项目源码讲义》点击传送门即可获取!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

麻花痒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表