分类: Mysql/postgreSQL
2008-08-29 10:15:26
1. 更改 root 密码
[root@janwer root]# /usr/local/mysql/bin/mysqladmin -u root password xxx
2. 备份数据库
比如我们要备份 mysql 中已经存在的名为 linux 的数据库,要用到命令 mysqldump
命令格式如下:
[root@janwer root]# /usr/local/mysql/bin/mysqldump -u root -p linux > /root/linux.sql
Enter password: 在这里输入数据库的密码
3. 把备份的数据库导入到数据库中
比如我们要把在 /root/linux.sql 这个目录中的 linux.sql 这个备份,导入名为 linux 的数据库中,应该如下操作 :
[root@janwer root]# /usr/local/mysql/bin/mysql -u root -p linux < /root/linux.sql
Enter password: 在这里输入密码
4. 其它一些比较常用的 mysql 指令
查看状态
mysql> show status;
查看进程
代码 :mysql> show processlist;
---- ------ ----------- ------ --------- ------ ------- ------------------
| Id | User | Host | db | Command | Time | State | Info |
---- ------ ----------- ------ --------- ------ ------- ------------------
| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist |
---- ------ ----------- ------ --------- ------ ------- ------------------
1 row in set (0.00 sec)
mysql>
5. 对 mysql 数据库常用命令的一点补充
几个常用的 mysql 相关的管理命令
mysql 命令:基本文本的,显示和使用的 mysql 数据库。前面已经简单的提过用法;比如登录等。
mysqladmin 命令,用来创建和维护 mysql 数据库的命令,前面已经简单的提过;
isamchk 是用来修复、检查和优化 .ism 后缀的数据库文件;
mysqldump 是用于备份数据库,前面已经简单的说明过;
myisamchk 用来修复 .myi 后缀的数据库文件;
比如我们要检查名为 linux 的数据库 .myi 数据库表是否存在问题,应该先把 mysqld 服务器停下来
[root@janwer root]# /usr/local/mysql/share/mysql.server stop
然后执行
[root@janwer root]# /usr/local/mysql/bin/myisamchk /usr/local/mysql/var/linux/*.MYI
上面的命令的意思就是检查所有的 .myi 文件,数据库的目录在 /usr/local/mysql/var/linux/ 目录中
如果有问题,应该用 –r 参数来修复
[root@janwer root]# /usr/local/mysql/bin/myisamchk -r /usr/local/mysql/var/linux/*.MYI
6. mysqlshow 命令:显示用户选择的数据库和表
[root@janwer root]# /usr/local/mysql/bin/mysqlshow -u root -p [ 数据库名 ]
比如我要查看名为 linux 的数据库;应该是:
[root@janwer root]# /usr/local/mysql/bin/mysqlshow -u root -p linux
==========================================================================
显示表的结构
show columns from table_name;
给用户复权限
grant all privileges on database_name to database_user;
清空数据表
truncate table table_name;
更改数据表的名称
alter table old_table_name rename new_table_name
描述表的结构
describe table_name;
在不进数据库的情况下执行 mysql 语句
mysql -u username -pusername database -e "msyql excute sectence";
更新数据库信息。
update tablename set Column=Column_value where Column=Column_value
导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
导出一个表
mysqldump -u 用户名 -p 数据库名 表名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc > d:wcnc_db.sql
-d 没有数据 --add-drop-table 在每个 create 语句之前增加一个 drop table
导入数据库
mysql>source d:wcnc_db.sql
MySql root 密码重置解决方案
1. 首先停止正在运行的 MySQL 进程
Linux 下 , 运行 killall -TERM mysqld
Windows 下,如果写成服务的 可以运行: net stop mysql, 如未加载为服务,可直接在进程管理器中进行关闭。
2. 以安全模式启动 MySQL
Linux 下,运行 /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
Windows 下,在命令行下运行 X:/MySQL/bin/mysqld-nt.exe --skip-grant-tables
3. 完成以后就可以不用密码进入 MySQL 了
Linux/Windows 下,运行 mysql -u root -p
4. 更改密码
use mysql
update user set password=password(" 新密码 ") where user="root";
flush privileges;
注:如是4.1 以上版本则使用old_password() 函数进行密码更改。