Mysql 5.7.9以上版本 设置账户密码及授权
2016-10-16 11:17
197 查看
停止mysql service mysql stop
运行mysqld_safe --skip-grant-tables &
如果此时不想被远程连接:mysqld_safe --skip-grant-tables --skip-networking &
修改密码执行
mysql>update mysql.user set authentication_string=password('new_password') where user='root' and Host = 'localhost';
重启mysql,执行
mysql> alter mysql.user 'root'@'localhost' identified by 'new_password'
网文说也可以:set password for 'root'@'localhost'=password('new_password')
如果出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误信息,这和密码的安全等级相关,查看安全等级命令如下
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
通过 SET GLOBAL validate_password_policy='LOW'; 命令,降低安全等级后,就可以直接使用,限制是必须8个字符以上;
关于安全等级更详细的介绍如下
LOW 政策只测试密码长度。 密码必须至少有8个字符长。
MEDIUM 政策的条件 密码必须包含至少1数字字符,1 大写和小写字符,和1特别 (nonalphanumeric)字符。
STRONG 政策的情况 密码子字符串长度为4的或更长时间不能匹配 单词在字典文件中,如果一个人被指定。
为了解决密码失效的问题, 最后在配置文件的[mysqld]字段下,增加以下字段
[mysqld]
default_password_lifetime=0
也可以通过命令行进行设置
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER
关于密码有效期相关的更多信息,可以参考 http://dev.mysql.com/doc/refman/5.7/en/password-expiration-policy.html
打开MySQL数据库远程访问的权限
改表法
可能是你的帐号不允许从远程登陆,只能在localhost,这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
或者执行
mysql> update user set host = '%' where user = 'root';
授权法
//赋予任何主机访问数据的权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
//如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.6'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
新特性
1.MySQL5.7版本终于支持了原生的JSON格式,即将关系型数据库和文档型NO_SQL数据库集于一身
2.UNDO log在线收缩
运行mysqld_safe --skip-grant-tables &
如果此时不想被远程连接:mysqld_safe --skip-grant-tables --skip-networking &
修改密码执行
mysql>update mysql.user set authentication_string=password('new_password') where user='root' and Host = 'localhost';
重启mysql,执行
mysql> alter mysql.user 'root'@'localhost' identified by 'new_password'
网文说也可以:set password for 'root'@'localhost'=password('new_password')
如果出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误信息,这和密码的安全等级相关,查看安全等级命令如下
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
通过 SET GLOBAL validate_password_policy='LOW'; 命令,降低安全等级后,就可以直接使用,限制是必须8个字符以上;
关于安全等级更详细的介绍如下
LOW 政策只测试密码长度。 密码必须至少有8个字符长。
MEDIUM 政策的条件 密码必须包含至少1数字字符,1 大写和小写字符,和1特别 (nonalphanumeric)字符。
STRONG 政策的情况 密码子字符串长度为4的或更长时间不能匹配 单词在字典文件中,如果一个人被指定。
为了解决密码失效的问题, 最后在配置文件的[mysqld]字段下,增加以下字段
[mysqld]
default_password_lifetime=0
也可以通过命令行进行设置
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER
关于密码有效期相关的更多信息,可以参考 http://dev.mysql.com/doc/refman/5.7/en/password-expiration-policy.html
打开MySQL数据库远程访问的权限
改表法
可能是你的帐号不允许从远程登陆,只能在localhost,这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
或者执行
mysql> update user set host = '%' where user = 'root';
授权法
//赋予任何主机访问数据的权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
//如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.6'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
新特性
1.MySQL5.7版本终于支持了原生的JSON格式,即将关系型数据库和文档型NO_SQL数据库集于一身
2.UNDO log在线收缩
相关文章推荐
- mysql 5.7版本以上设置了一个默认密码(随机)
- 解决您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应。
- 您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应...的解决办法
- 关于MySql5.5.3版本以上插入表情符号utf8mb4的设置
- mysql 密码设置与授权
- mysql 密码设置与授权
- 连接数据库超时设置autoReconnect=true(mysql5以上的,设置autoReconnect=true 是无效的 只有4.x版本,起作用)
- 修改MySQL 5.7.9版本的root密码方法以及一些新变化整理
- 解决您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应
- MySQL5.7以上版本root用户空密码修改(windows系统、zip版MySQL)
- MySQL允许root帐号远程登录及设置root账户密码
- 您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应。您的 MySQL 服务器使用默认值运行当然没有问题,不过这样的话,被入侵的可能性会很大,我们强烈建议您应该立即给……
- 运行phpmyadmin的时候下方总是出现“wapm您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应。您的 MySQL 服务器使用默认值运行
- windows mysql设置 账户root 密码
- 修改MySQL 5.7.9版本的root密码方法以及一些新变化整理
- mysql设置账户密码相关知识
- MySql5.5以上版本设置主从结构的例子
- MySQL 5.7.6 以上版本的 root 密码重置
- 2016/7/7 设置wamp2.5 mysql密码 重点是mysql版本
- MySQL5.7以上版本root用户空密码修改(windows系统、zip版MySQL)