操作系统版本:centos 6.6
数据库版本:mysql5.7.9
1.修改my.cnf
vi /etc/my.cfn
在末尾新起一行加入:
skip-grant-tables
2.重启数据库
service mysqld restart
3.连接数据库
mysql -uroot
4.修改mysql root 用户的密码
三行命令分别如下:
> update mysql.user set authentication_string = password('123456') where user='root' and Host = 'localhost';> flush privileges;> quit;
5.恢复第一步中的修改
vi /etc/my.cfn
去掉第一步中加入的那行代码
由于mysql 5.7.9使用了密码过期策略(参考:),昨晚修改完是可以用的,但今晚命令行登陆进去后随使查一行都提示:
You must reset your password using ALTER USER statement before executing this statement.
解决方法:
mysqladmin -u root -p passwordEnter password: New password: Confirm new password: Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
上述过期策略参考的文章内容中提到的几点:
mysql> select password_expired,password_last_changed,password_lifetime from user where user='root';+------------------+-----------------------+-------------------+| password_expired | password_last_changed | password_lifetime |+------------------+-----------------------+-------------------+| N | 2015-12-02 22:02:14 | 0 |+------------------+-----------------------+-------------------+1 row in set (0.00 sec)
在文中 A value of 0 disables automatic password expiration,就值为0时就是禁用自动过期;
文中说为了避免mysql的密码过期突然停止服务,请执行下面语句:
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER
以上语句一直但执行就是将password_lifetime的值改为0
装完了默认是不能远程访问的,so...
-
使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。
-
使用“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;”命令可以更改远程连接的设置。
-
使用“flush privileges;”命令刷新刚才修改的权限,使其生效。
-
使用“select host,user from user;”查看修改是否成功。
嗯,接着你可能想给不同的同事或业务部门分配不同的帐号或密码。okay,so...please read this.
参考: 文中创建新用户,是针对5.5版本的,5.7.9得这样创建新用户,注意:密码的字段跟文中用的不一样。
创建新用户:
insert into `mysql`.`user` (Host,User,authentication_string) values ("%","gUDvpT",PASSWORD("1234567890"));
把plouto.*(即plouto下面的所有表)的所有权限(ALL PRIVILEGES )给gUDvpT用户
GRANT ALL PRIVILEGES ON plouto.* TO 'gUDvpT'@'%' IDENTIFIED BY '1234567890' WITH GRANT OPTION;