02_MySQL8配置管理

课程目标

---

一、账号管理

修改密码

如何在MySQL终端重置MySQL密码?

# password '新密码' -p 回车
[root@mysql-node ~]# mysqladmin -uroot password 'root123' -p
Enter password:输入原密码

# 验证
[root@node1 /root]# mysql -uroot -proot123
# 进入成功
mysql> 

命令作用:

执行结果:

关键参数:

注意事项:


**注意事项:**



默认登录到mysql服务只能通过本地终端进入,不能远程连接,这样就在管理上就用不上图形工具,如果想要图形工具来连接就必须要创建远程登录账号。





-------------------------------------------------------------------------------------------
参数说明:
GRANT授权

注意:

[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
character_set_server=utf8mb4
#collation-server=utf8mb4_unicode_ci
[client]
user=root
password=Aa123456.

-------------------------------------------------------------------------------------------


+------------------+----------------+
+------------------+----------------+
| mysql.infoschema | localhost      |
| mysql.session    | localhost      |
| mysql.sys        | localhost      |
+------------------+----------------+

说明:
mysql系统层面数据库,保存了所有系统信息
user属于数据库中的一个数据表(类似Excel),存放账号信息

注意事项:

MySQL是一个需要账户名密码登录的数据库,登录后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录,目前有两种登录场景:

password:输入密码

说明:


**注意事项:**

注意事项:

image

排查思路:

3、如果端口不通,有两种情况

image
image


![](/assets/feishu-images/20f6269bfd82911f461ea1fb.png)

只要最终有**分号结束**符就可以。

![](/assets/feishu-images/0b4b4003895c3b5a42b35d05.png)


背景
思考:
    那么,本地登录的时候,该使用哪个密码呢?

背景
作业:
    在88.101上登录,看一下要用哪个密码?

肯定登不上,因为客户端可能就没有装MySQL服务。

image

因为'root'@'localhost'默认有给人赋权的能力,但是它创建出来的账号,没有赋权的能力。也就是说,权限没有传递下去,保证了MySQL的数据安全。

写脚本去批量测试所有的主机对应的账号和密码


**关键参数:**

**注意事项:**

命令说明:

--skip-grant-tables:跳过密码验证 &:后台运行,不会影响命令行其他命令运行


第三步:登录mysql并重置密码(只能把密码置空!!!)

mysql8.0.40版本,不允许在非授权模式直接更改密码,我们只能把密码置空!!!

回车

关键参数:

注意事项:

回车

+----------------+------------------+ +----------------+------------------+ | % | root | | 192.168.50.% | root | | 192.168.50.214 | root | +----------------+------------------+


**注意事项:**




前提:必须要保证账号存在。

修改用户



--------------------------------------------------------------------------------

-----------------------------------------------




所有权限说明:[https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html)

创建一个admin用户,它的权限要和root账号要完全一样

注意:分配权限时只能分配小于等于当前用户的权限。 比如当前账号只有insert/delete/update/select,则这个账号只能给其他用户分配insert/delete/update/select。


权限保存位置

mysql.user:记录全局权限(影响所有数据库和表)的用户账号信息。
mysql.db:记录数据库级权限,控制用户对某个数据库(db.*)的操作权限。
mysql.tables_priv:记录表级权限,控制用户对特定表(db.table)的权限。
mysql.columns_priv:记录列级权限,控制用户对特定列(db.table.col)的权限。
mysql.procs_priv:记录存储过程和存储函数的权限,控制用户对存储过程或函数的执行和修改权限。

用户授权命令



创建用户方法







数据库:dev1
用户:user_dev1
密码:123

注:回收权限时,用户要退出一下。



本文由飞书云文档同步生成。涉及命令、SQL、配置示例时,请以飞书源文档和实际环境执行结果为准。