--创建用户 CREATE USER 'user1'@'localhost' IDENTIFIED BY 'pass1'; GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'user1'@'localhost'; GRANT ALL ON *.* TO 'user1'@'localhost';
1.修改root密码 方法1:使用mysqladmin命令
--适用于记得root旧密码,修改root密码 语法: mysqladmin -u用户名 -p旧密码 password 新密码 例如: # mysqladmin -u root -proot password mysql --注意:如当旧密码输入错误时会报如下错误 # mysqladmin -u root -proot1 password mysql mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)'
方法2:直接更新user表password字段
--适用于忘记root密码,而对root密码进行重置 Step 1: 修改MySQL的登录设置 # vi /etc/my.cnf --windows系统是my.ini文件 --在[mysqld]的段中加上一句:skip-grant-tables,如没有[mysqld]字段,可手动添加上 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-name-resolve skip-grant-tables Step 2: 重新启动mysql [root@gc ~]# service mysql restart Shutting down MySQL..[确定] Starting MySQL...[确定] Step 3: 登录并修改MySQL的root密码 --此时直接用mysql即可无需密码即可进入数据库了 [root@gc ~]# mysql Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2 Server version: 5.5.24 MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> use mysql; Database changed mysql> update user set password=password('new_password') where user='root'; Query OK, 5 rows affected (0.00 sec) Rows matched: 5 Changed: 5 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) --注意:如果没做step1,直接用mysql登录时会报如下错误 [root@gc ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) Step 4: 将MySQL的登录设置修改回来 再删除/etc/my.cnf文件中的skip-grant-tables Step 5: 重新启动mysql [root@gc ~]# service mysql restart Shutting down MySQL..[确定] Starting MySQL...[确定]
2.修改mysql其它用户密码 同样,普通用户也可以用上面的方法
--使用mysqladmin命令 [root@njdyw ~]# mysqladmin -u user1 -ppass1 password pass2 --直接修改数据库表 [root@njdyw ~]# mysql -u user1 -ppass1 –Dmysql mysql> update user set password=password('pass2') where user='user1'; mysql> flush privileges;