centos下mysql忘记root密码

今天帮一个客户配置阿里云服务器的php环境,为了省事使用了阿里云的预置镜像。安装好了之后发现mysql的密码不知道是多少,找了半天没找着。最后直接修改了mysql的root密码。方法如下:

1、停止mysql服务    # /etc/init.d/mysql stop

2、跳过grand权限认证    # mysqld_safe –user=mysql –skip-grant-tables –skip-networking &

3、使用root用户登录mysql    # mysql -u root mysql

4、设置root密码为123456   UPDATE user SET password=PASSWORD(“123456”) WHERE user=’root’;

5、刷新权限    FLUSH PRIVILEGES;

6、退出    quit;

7、重启mysql服务    # /etc/init.d/mysql restart

8、mysql密码修改成功

登录MYSQL验证:

# mysql -u root -p

 

MYSQL其他操作命令:

第一步:(停掉正在运行的mysql)
[root@maomao ~]# service mysqld stop  
Stopping MySQL:                                            OK  ]
 
第二步:使用 “–skip-grant-tables”参数重新启动mysql
[root@mcy400 ~]# mysqld_safe –skip-grant-tables 
[root@cy400 ~]# Starting mysqld daemon with databases from /var/lib/mysql注意:如果停在这一步的时候,请新开SSH登陆接着下一步操作
 
第三步:用帐号登录mysql
[root@cy400 ~]# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.77 Source distribution
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
 
第四步:改变用户数据库
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
 
第五步:修改密码,下面()内的root123为新密码
mysql> update user set password=password(‘root123′) where user=’root’;

Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0
 
第六步:刷新权限表
mysql> flush previleges;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘previleges’ at line 1
 
第七步:退出mysql
mysql> quit
Bye
 
第八步:对mysql进行重启
[root@cy400 ~]# service mysqld restart;
Stopping MySQL:                                            OK  ]
Starting MySQL:                                            OK  ]
 
第九步:用更改过的密码重新登录即可。
[root@cy400 ~]# mysql -u root -p
Enter password: admin123
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distribution
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> quit
Bye
[root@cy400 ~]#加入如下自动启动命令 /etc/rc.d/init.d/mysqld start

1.更改root密码

mysqladmin -uroot password ‘yourpassword’

2.远程登陆mysql服务器

mysql -uroot -p -h192.168.137.10 -P3306

3.查询数据库

show databases;

4.进入某个数据库

use databasename;

5.列出数据库中的表

show tables;

6.查看某个表全部字段

desc slow_log;

show create table slow_log\G; (不仅可以显示表信息,还可以显示建表语句)

7.查看当前用户

select user();

8.查看当前所在数据库

select database();

9.创建新数据库(可以指定字符集)

create database db1 charset utf8;

10.创建新表

create table t1 (`id` int(4), `name` char(40));

11.查看数据库版本

select version();

12.查看数据库状态

show status;         当前会话状态

show global status;  全局数据库状态

show slave status\G;   查看主从数据库状态信息

13.查询数据库参数

show variables;

14.修改数据库参数

show variables like ‘max_connect%’;

set global max_connect_errors = 1000;(重启数据库会失效,要在配置文件中修改)

15.查看当前数据库队列

show processlist;

16.创建普通用户并授权给某个数据库

grant all on databasename.* to ‘user1’@’localhost’ identified by ‘123456’;

17.查询表数据

select * from mysql.db;           //查询该表中的所有字段

select count(*) from mysql.user;  //count(*)表示表中有多少行

select db,user  from mysql.db;    //查询表中的多个字段

select * from mysql.db where host like ‘10.0.%’;在查询语句中可以使用万能匹配 “%”

18.插入一行数据

insert into db1.t1 values (1, ‘abc’);

19.更改表的某一行数据

update db1.t1 set name=’aaa’ where id=1;

20.清空表数据

truncate table db1.t1;

21.删除表

drop table db1.t1;

22.清空数据库中的所有表(数据库名是eab12)

mysql -N -s information_schema -e “SELECT CONCAT(‘TRUNCATE TABLE ‘,TABLE_NAME,’;’) FROM TABLES WHERE TABLE_SCHEMA=’eab12′” | mysql -f eab12

23.删除数据库

drop database db1;

24.数据库备份

mysqldump  -uroot -p’yourpassword’ mysql >/tmp/mysql.sql

25.数据库恢复

mysql -uroot -p’yourpassword’ mysql </tmp/mysql.sql

26.新建普通用户

CREATE USER name IDENTIFIED BY ‘ssapdrow’;

27.更改普通用户密码

SET PASSWORD FOR name=PASSWORD(‘fdddfd’);

28.查看name用户权限

SHOW GRANTS FOR name;

29.脚本中执行mysql命令

mysql -uuser -ppasswd -e”show databases”

echo “show databases”|mysql -uuser -ppassword

以下是执行大量mysql语句采用的方式

mysql -uuser -hhostname -ppasswd <<EOF

mysql语句

EOF

 

自己用的一些命令:

查询数据库记录:mysql> select * from dsc_admin_user where user_name=’admin’;

修改数据库数据:mysql> UPDATE dsc_admin_user SET password = ‘e10adc3949ba59abbe56e057f20f883e’ where user_name = ‘admin’;

未经允许不得转载:黄躺躺 » centos下mysql忘记root密码

赞 (0) 打赏

评论 0

觉得文章写得还行就打赏一下作者 :)

支付宝扫一扫打赏

微信扫一扫打赏