显示标签为“Database”的博文。显示所有博文
显示标签为“Database”的博文。显示所有博文

2011年9月2日星期五

Linux下Mysql数据库忘记root密码的解决办法

系统环境:Red Hat Enterprise Linux Server 6

1.停止mysqld服务
  [root@Server huage]# service mysqld stop

2.以跳过授权的方式启动mysql
  [root@Server huage]# mysqld_safe --skip-grant-tables &

3.root用户登录mysql
  [root@Server huage]# mysql -u root

4.进入mysql数据库
mysql> use mysql

5.更新mysql数据库中的user表的rootpassword字段
mysql> update user set password=PASSWORD("new_password") where User="root";

6.刷新权限,使其立即生效,之后退出mysql,并重新启动mysql
mysql> flush privileges;
mysql> quit
[root@Server huage]# service mysqld restart

远程连接mysql数据库提示:ERROR 1130的解决办法

linux下使用mysql客户端连接远程mysql服务器报错:
[root@Server huage]# mysql -h 88.88.88.88 -P 3306 -u root -p
Enter password: 
ERROR 1130 (HY000): Host 'my_wan_ip' is not allowed to connect to this MySQL server

出现这种情况是因为mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。
解决办法:
将远程服务器上的mysql数据库中的user表中root用户所对应的Host字段"127.0.0.1"改为"%"即可。
mysql> use mysql
mysql> update user set Host="%" where Host="127.0.0.1";
mysql> flush privileges;
mysql> quit

mysql数据库的基本操作

[root@Server vsftpd]# mysql -u root -p
Enter password: 
//登录mysql数据库
mysql> show databases;                           //查看数据库
mysql> use mysql                                    //使mysql数据库成为当前的数据库
mysql> show tables;                               //显示mysql数据库中的表
mysql> describe user;                            //显示user表的数据结构
mysql> CREATE DATABASE huage;          //创建数据库huage
mysql> DROP DATABASE huage;             //删除数据库huage
mysql> select from user;                    //显示user表中的内容

mysql> update user set Password=PASSWORD("godontop") where User="root";
//将user表中的root用户的密码改为godontop(PASSWORD函数用于加密密码字段) 

[root@huage ~]# mysqldump -u root -p --all-databases > all-databases.sql
Enter password:  

//输入root用户的密码后即可备份(导出)所有数据库

[root@huage ~]# mysql -u root -p < all-databases.sql
Enter password: 

//输入root用户的密码后即可还原(导入)所有数据库