在日常的数据库的使用过程,往往会因为连接权限的问题搞得我们焦头烂额,今天我把我们在数据库连接上的几个误区简单做个记录。内容如下:
误区一:MYSQL密码和数据库密码的区别
mysql密码是我们在安装mysql服务是设置的密码,数据库密码是我们针对数据设置的密码。
在5.7以后的高版本数据库中,mysql密码会在安装过程中随机生成,需要我们及时记录与修改,而且密码的格式不能太简单,不然在登录mysql服务的时候会报如下错误
Your password does not satisfy the current policy requirements
误区二:MYSQL服务权限和数据库权限的区别
大家都知道要实现远程连接,只需要执行以下三个脚本:
mysql> use mysql
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘密码’ WITH GRANT OPTION;
mysql> flush privileges;
这是大家要注意的几点
- 必须选择名称为mysql的数据库;执行use mysql 脚本;
- 第二条脚本里的密码强度必须要高,否则也会报误区一的错误;
- 为了验证修改是否有效,可以通过如下脚本进行验证;如果root的主机名中包含“%”,则证明有效;
mysql> select host, user from user
±----------±--------------+
| host | user |
±----------±--------------+
| % | root |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
±----------±--------------+
- 还有方案说需要修改MYSQL的配置文件my.cnf,这个大家酌情处理,我这边通过验证不一定为必要条件。
修改的内容为:
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可