02_MySQL8配置管理
课程目标
- [ ] 掌握MySQL服务管理的相关配置
- [ ] 掌握本地和远程登录MySQL的相关命令;
- [x] 了解忘记密码的解决方案
- [x] 了解数据库多实例配置与实现
---
一、账号管理
修改密码
如何在MySQL终端重置MySQL密码?
- 使用mysqladmin重置密码 (脚本)
# password '新密码' -p 回车
[root@mysql-node ~]# mysqladmin -uroot password 'root123' -p
Enter password:输入原密码
# 验证
[root@node1 /root]# mysql -uroot -proot123
# 进入成功
mysql> 命令作用:
- 使用
mysql客户端连接数据库并执行 SQL 或客户端命令。
执行结果:
- 成功后客户端会连接目标服务并执行指定操作;失败时检查地址、端口、用户、密码和数据库名称。
关键参数:
注意事项:
**注意事项:**
默认登录到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:输入密码
说明:
**注意事项:**
注意事项:

排查思路:
3、如果端口不通,有两种情况



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

背景
思考:
那么,本地登录的时候,该使用哪个密码呢?
背景
作业:
在88.101上登录,看一下要用哪个密码?肯定登不上,因为客户端可能就没有装MySQL服务。

因为'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、配置示例时,请以飞书源文档和实际环境执行结果为准。