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

[root@system1 ~]# mysql_secure_installation #设置数据库

/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current

password for the root user. If you’ve just installed MariaDB, and

you haven’t set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none): #因为以前没密码,直接回车即可

OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

Set root password? [Y/n] y #是否设置root密码 —— y

New password: #自定义

Re-enter new password: # 自定义

Password updated successfully!

Reloading privilege tables…

… Success!

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] #是否删除匿名用户,默认回车即可

… Success!

Normally, root should only be allowed to connect from ‘localhost’. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y #是否拒绝root远程登陆——y,这样就只能localhost登陆了

… Success!

By default, MariaDB comes with a database named ‘test’ that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] #删除测试数据库访问他,默认回车即可

  • Dropping test database…

… Success!

  • Removing privileges on test database…

… Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] #是否现在重新加载权限表,默认回车即可

… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

基本配置就完成了

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)则使用allall 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;

在这里插入图片描述

用户权限设置
  • 用户名:Mary,密码:mary_passwd——对legacy库的所有数据都有选择操作权限

MariaDB [legacy]> grant select on legacy.* to ‘mary’@‘localhost’ identified by ‘mary_passwd’; #localhost是访问本机的意思,by后面是密码

Query OK, 0 rows affected (0.00 sec)

MariaDB [legacy]> flush privileges; #刷新权限

  • 用户名:Legacy,密码:report_password—— 对legacy库的所有数据又选择、插入、更新、删除操作权限

MariaDB [legacy]> grant select on legacy.* to ‘report’@‘localhost’ identified by ‘report_password’;#localhost是访问本机的意思,by后面是密码

Query OK, 0 rows affected (0.00 sec)

MariaDB [legacy]> flush privileges; #刷新权限

  • 用户名:Report,密码:legacy_passwd 对legacy库的所有数据又选择操作权限

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。

更多JVM面试整理:

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
bfES-1713223850414)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。

[外链图片转存中…(img-dPuWGQHx-1713223850414)]

更多JVM面试整理:

[外链图片转存中…(img-PutoPz6g-1713223850415)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上安装MariaDB数据库服务器,您可以按照以下步骤进行操作: 1. 打开终端并使用以下命令安装MariaDB服务器: yum install mariadb-server -y 2. 安装完成后,使用以下命令启动MariaDB服务: systemctl start mariadb 3. 如果您希望MariaDB在系统启动时自动启动,可以使用以下命令启用自启动: systemctl enable mariadb 4. 在安装完成后,建议运行安全配置脚本以增加数据库的安全性。您可以使用以下命令运行安全配置脚本: mysql_secure_installation 这个脚本将引导您设置root密码、删除匿名用户、禁止远程root登录等安全设置。 5. 安装成功后,您就可以开始使用MariaDB数据库了。MariaDB是MySQL的一个分支,因此与MySQL相比,它具有更好的兼容性。您可以使用MySQL的API和命令行工具来管理和操作MariaDB数据库。 请注意,安装配置数据库服务器需要具有管理员权限的用户。在执行命令时,请确保您有足够的权限。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [LINUX---mariadb-server数据库服务](https://blog.csdn.net/qq_42736288/article/details/81587130)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Linux 上安装Mariadb-server](https://blog.csdn.net/Jerris_Gigl/article/details/124486553)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [MariaDBmariadb-10.6.8-linux-systemd-x86_64.tar.gz)](https://download.csdn.net/download/weixin_43800734/85576775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值