mysql数据库日常命令的用法

来源:互联网 发布:典型的数据库管理系统 编辑:程序博客网 时间:2024/05/22 02:12
1.不登陆数据库,对数据库中的内容进行操作
例如: /usr/local/mysql/bin/mysql -uroot -D ww2 -e "select * from db_version" | /usr/bin/tail -1 | /bin/awk '{print $1}'
其中 -D 参数 指定数据库名
     -e 参数 执行命令并推出
2.查看数据库进程
    show processlist;
3.查看数据库存储结构
    show engines;
4.只备份数据结构,不需要数据
    mysqldump -uroot -R -d report > report.sql
5.导入数据
    mysql -uroot ww2 < ww2.sql
6查看表结构
    desc user;(表名)
7.查看表存储结构
    show table status;
8.关闭数据库
      mysqladmin -uroot -p123456 shutdown
9.查看表中最后一行记录
    select * from report.user_online order by lg_date desc limit1;

10.更新数据
    update playerinfo set fame=fame-20000000 where playerid>1000 and fame>40000000;
11.授权
    grant all privileges on *.* to 用户名@ip地址 identified by '密码';
12.查看用户权限
    show grants for 用户名@地址
13.刷新权限
    flush privileges;
14.禁用dns解析
  --skip-name-resolve
15.同步数据
master服
    #mysqldump -uroot -R --master-data=2 -B removed_data_backup report report_result ww2 > alldb.sql
    #more alldb.sql  找到 CHANGE MASTER TO MASTER_LOG_FILE='localhost-bin.000084', MASTER_LOG_POS=169;这行
    mysql>grant replication slave on *.* to 用户名@ip地址 identified by '密码';
    mysql>flush privileges;
slave服
    cp -rf mysql_base mysql_it1
    修改端口号和路径 vim /usr/local/mysql_it1/etc/my.cnf         更改其中的端口号和路径
    启动数据库    /usr/local/mysql_it1/bin/mysqld_safe --defaults-file=/usr/local/mysql_it1/etc/my.cnf --user=mysql &   注意更改目录的属主和属组
    登陆到数据库  mysql -uroot -S /usr/local/mysql_it1/tmp/mysql.sock
    导入数据      mysql -uroot -S /usr/local/mysql_it1/tmp/mysql.sock < alldb.sql
    mysql>change master to
          master_host='ip地址',
          master_user='用户名',
          master_password='密码',
          master_port=3306,
          master_log_file='localhost-bin.001266',
          master_log_pos=534018610,
          master_connect_retry=10;
    mysql>start slave;
    mysql>show slave status;
跳过错误语句 继续同步
slave stop;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
slave start;
show slave status;

16.wondos和linux之间备份数据   注意在备份端授权
linux 端
mysqldump -u用户名 -h备份端的ip -p密码 -R ww2 > ww2.sql

17.mysql常用权限解释
全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做

19.MySQL 添加列,修改列,删除列 ALTER TABLE:添加,修改,删除表的列,约束等表的定义。

    查看列:desc 表名;

    修改表名:alter table   old _name  rename to new_name;

    添加列:alter table 表名 add column 列名 varchar(100);

    删除列:alter table 表名 drop column 列名;


    修改列名:alter table 表名 change old_name  new_name  字符类型;

    修改列属性:alter table 表名 modify 列名 varchar(10);

20.参数学习
--character-sets-dir=utf8

21.修改用户密码
update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
22.破解mysql数据库root密码
第一步,先使用跳过受权表访问,命令如下:mysqld_safe --user=mysql --skip-grant-tables --skip-networking & (当然,在这之前,先停止mysql服务的运行)。
第二步,mysql -uroot mysql 登录mysql。
第二步,访问user表
第四步,修改root用户密码update user set password=password("123456") where user="root";
第五步、刷新权限flush privileges;
第六步,重启数据库并使用root登陆
23.修改表的存储引擎
alter table tb set engine='innodb';
24.修改表中字段内容
update 表名 set 字段名 = '字段内容' where xxx=xxx;
例:update purchase set param ='16000.00' where id=4;
25.修改表字段属性
字段属性为not null,改为null,如下:

ALTER TABLE 表名 CHANGE 原字段名称 新字段名称 数据类型 NULL;

增加字段,如下:

ALTER TABLE 表名 ADD 字段名 字段类型;
26.mysql数据库显示乱码问题
mysql --default-character-set=utf8

忽略大小写

lower_case_tables _name=1

修改mysql数据用户密码


update mysql.user set password=password('xxx') where user='xxx';

flush privileges;

27.计算时间差

SELECT TIMESTAMPDIFF(minute ,'2010-01-03 09:30','2010-01-06 17:30');


原创粉丝点击