一 、数据库处室化密码
-
刚刚装好的数据库需要重置密码: alter user user() identified by '12345678';
-
如果是测试环境, 或者自己玩的环境, 设置密码过于简单, 可以通过一下命令修改关于密码的校验: set global validate_password.policy # 密码验证策略(三个值: 0=>low, 1=>medium, 2=> strong )
set global validate_password.length # 密码长度的最小值
set global validate_password.number_count # 密码中数据的最小个数
set global validate_password.mixed_case_count # 大小写的最小个数
set global validate_password.special_chat_count # 特俗字符的最小个数
set global validate_password.dictionary_file # 字典文件
注意: 1. 高版本是 validate_password.policy, 低版本是 validate_password_policy, 其他设置属性一样 2. 高版本降低密码验证策略 需要先重置一个符合要求的密码(大小写字母数字符号),之后降低密码验证策略, 在修改密码(三步), 低版本可以直接修改密码验证策略, 之后在重置密码(两步)
二、四个初始库的各自作用:
- information_schema: 主要保存 Mysql 数据库服务器的系统信息, 比如数据库的名称, 数据表的名称, 字段名称, 读取权限等
- performance_schema: 可以用来监控 MySQL的各类性能指标
- sys: 主要作用是以一种更容易被理解的方式展示MySQL 数据库服务器的各类性能指标, 帮助系统管理员和开发人员监控MySQL的技术性能.
- mysql: 数据库保存了MySQL数据库服务器运行时需要的系统信息, 比如数据文件夹, 当前使用的字符集, 约束检查信息等等
补充内容 : 优化(根据问题优化), 怎么发现问题:
- 根据体验, 发现问题(查询数据很忙)
- performance_schema: 监控数据库性能标准指标发现问题(指标不唯一), 是具体库,小的指标
- sys: 数据库服务器的指标
注意:
- 系统默认的4个数据库不建议使用和修改, 后续使用和测试建议自己建立数据库,系统默认的4个数据库更多的是监控数据库的各种指标, 如果修改使用, 不利于后面的优化和显示所有数据库
三、置数据库远程链接
-
如果远程链接报错(错误码2003), 那么需要设置数据库默认端口号 3306 可以通过通过防火 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT # linux 命令(如果是云端服务器,需要去安全组里面配置端口号)
-
如果远程链接报错(错误码1130),那么是因为当前登录用户的host限制, 需要进入数据库, 并且开放host 给指定的用户(IP)或者所有用户(%) mysql -u root -p # 进入数据库
show database; # 显示所有数据库
use mysql; # user表在mysql库中
update user set host = '%' where host='localhost' and user='root'; # 更新root 用户对应host, 可以让所有用户ip地址访问
-
重启 数据库服务 service mysqld restart
-
如果远程链接继续报错(错误码2058), 那就是plugin 的密码策略没有通过,需要更改user表plugin字段对应的密码策略: create user 'test01'@'%' identified by '12345678'; # 创建一个用户, 可以不新建, 直接在root用户上更改
flush privileges; # 刷新
grant all privileges on *.* to test01@'%'; # 用户授权, 更改user 库中 plugin 对应的密码策略
service mysqld restart; # 退出数据库, 重启服务
set global validate_password.policy=0; # 更改密码检验等级
alter user 'test01'@'%' identified with mysql_native_password BY '12345678'; # 更改 plugin 对应密码策略
flush privileges; # 刷新, 之后退出重启数据库
注意:
- MySQL8 种支持2种密码安全策略, 新建用户密码默认使用caching_sha2_password,
caching_sha2_password mysql_native_password 数据库可以开始远程链接
四 、3306和33060的区别
- 3306 是mysql 协议的默认端口号, mysql 的客户端或者中间件通过3306的端口号, 数据备份还原
- 33060 是 mysqlx 协议的端口号
五 、mysql 配置文件(linux 环境下, 配置文件路径/etc/my.cof)解析
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
未完待续, 欢迎评论补充
|