linux环境设置mysql的用户密码

时间:2024-05-22 20:49:31

mysql 数据库 mysql系统库,user用户表 host字段表示:指定登录的ip、而%则是个通配符

      4.1、mysql 服务启动关闭指令(有时候范抽抽不建议使用)

      1、登录报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

      解决方案:service mysql stop(关闭mysql服务)

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

mysql -u root mysql(登录mysql)

UPDATE user SET Password=PASSWORD('newpassword') where USER='root';(修改用户的登录密码)

FLUSH PRIVILEGES;(刷新)

quit;(退出mysql)

service mysql(d) restart(重启mysql服务)

mysql –u root –p(登录链接mysql)

输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。

      4.2、方案一:mysql用户操作

      修改用户密码:mysql user(用户) password(密码) 修改登入密码

     4.2.1 方案二:用SET PASSWORD命令

      首先登录MySQL。

格式:mysql> set password for 用户名@localhost = password('新密码');

例子:mysql> set password for [email protected] = password('123');

     4.2.2、方案三:用mysqladmin操作

格式:mysqladmin -u用户名 -p旧密码 password 新密码

例子:mysqladmin -uroot -p123456 password 123

 

     4.2.3、方案三:用UPDATE直接编辑user表

首先登录MySQL。

mysql> use mysql;(使用mysql的库)

mysql> update user set password=password('123') where user='root' and host='localhost';(修改user表的密码语句)

mysql> flush privileges;(刷新)

 

     4.2.4、方案四:最简单的建议使用的

、修改/etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1

linux环境设置mysql的用户密码

这一行配置让 mysqld 启动时不对密码进行验证

2、重启mysqld 服务:systemctl restart mysqld

linux环境设置mysql的用户密码

3、使用 root 用户登录到 mysql –u root mysqld

linux环境设置mysql的用户密码

4、切换到mysql数据库,更新 user 表:

mysql5.7版本:

update user set authentication_string = password('123456'),password_expired = 'N', password_last_changed = now() where user = 'root';

在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

mysql5.7版本之前:

UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

5、退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1的内容,接触免密登录设置linux环境设置mysql的用户密码

           

 

      4.3、创建用户:

CREATE USER 'root'@'%' IDENTIFIED BY '123456';

      4.4.、用户授权登录

      GRANT ALL PRIVILEGES ON *.* TO 'chen'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

(第一个chen表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个123456表示密码)。

指定192.168.1.127 IP可连接 chen 数据库 :

GRANT ALL PRIVILEGES ON *.* TO 'chen'@'192.168.1.127' IDENTIFIED BY '123456' WITH GRANT OPTION;