视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql修行练级之mysql新手入门常用命令
2020-11-09 12:42:26 责编:小采
文档


mysql修行练级之mysql新手入门常用命令创建时间:2014.08.24修改时间:2014.09.26从一个运维工程师和DBA新手的角度出发,学习,实践从而掌握mysql相关操作。1.登

mysql修行练级之mysql新手入门常用命令

创建时间:2014.08.24

修改时间:2014.09.26

从一个运维工程师和DBA新手的角度出发,学习,实践从而掌握mysql相关操作。

1.登录MySQL服务器

当面对一个正在运行的mysql服务,我们需要做的第一件事情就是登录mysql服务。

MySQL客户端能够以两种不同的方式连接到mysqld服务器:

  • 非标准端口登录

    非3306服务端口登录,例如:

    mysql -u qunyingliu -p 51cto20140824 -P 3307 mysql -h 10.1.8.24 -u qunyingliu -p 51cto20140824 -P 3307
  • B.通过socket链接mysql服务

    mysql -S mysql.sock文件地址

    例如,

    mysql -S /tmp/mysql/mysql.sock

    当然如前所述,以下两种登录方式,默认也是通过unix连接mysql服务的:

    mysql mysql -P 3307 -u qunyingliu -p51cto20140824 mysql -h localhost -P 3307 -u qunyingliu -p51cto20140824

    如果通过socket方式连接mysql,当mysql.sock文件不是默认的名称或存放路径时,我们将会收到类似如下错误信息:

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

    2.Mysql常用交互命令


  • 取消授权:
    revoke all privileges(权限) on *(数据库).*(表) from 帐号@主机;
    如,

    mysql>revove all privileges on *.* from qunyingliu@"%";

    删除用户:
    delete from user where user="帐号" and host="%";
    如,

    delete from user where user="qunyingliu" and host="%";

    数据库/数据表/数据列权限:

    Alter: 修改已存在的数据表(例如增加/删除列)和索引。

    Create: 建立新的数据库或数据表。

    Delete: 删除表的记录。

    Drop: 删除数据表或数据库。

    INDEX: 建立或删除索引。

    Insert: 增加表的记录。

    Select: 显示/搜索表的记录。

    Update: 修改表中已存在的记录。


    全局管理MySQL用户权限:

    file: 在MySQL服务器上读写文件。

    PROCESS: 显示或杀死属于其它用户的服务线程。

    RELOAD: 重载访问控制表,刷新日志等。

    SHUTDOWN: 关闭MySQL服务。


    特别的权限:

    ALL: 允许做任何事(和root一样)。

    USAGE: 只允许登录--其它什么也不允许做。

  • 查看 MySQL 用户权限

  • 查看当前用户(自己)权限: show grants; 查看其他 MySQL 用户权限: show grants for qunyingliu@10.2.122.1;
  • mysql服务相关操作

    查看mysql版本与当前时间:
    select version(),current_date;
    修改密码:
    update user set password=password("liuqunying") where user='qunyingliu'; flush privileges(刷新权限)

  • 3.Mysql数据备份与恢复
  • 备份数据库:

  • mysqldump -h host -u root -p 数据库名 --default-character-set=utf8[|gbk|latin1] >dbname_backup.sql
  • 备份数据表:

  • mysqldump -h host -u root -p 数据库名 表名 >dbname_tablename_backup.sql

    只导出插入数据的sql命令:

    mysqldump -h host -u root -p -t 数据库名 [表名] >insert_data.sql

    只导出创建表的sql命令:

    mysqldump -h host -u root -p -d 数据库名 [表名] >create_table.sql

    只导出表内的数据:

    mysqldump -h host -u root -p -T 导出数据目录 数据库 表名
  • 恢复数据库:恢复的方法有多种,,推荐source命令, 可以查看数据导入的进度
    mysql+source命令:

  • qunyingliu_host# mysql -h host -u root -p mysql> use dbname;source dbname_backup.sql;

    mysqldump命令:

    qunyingliu_host# mysqldump -u username -p dbname < dbname_backup.sql

    mysql命令:

    qunyingliu_host# mysql -u username -p -D dbname < dbname_backup.sql4.shell环境中mysql的用法qunyingliu_host# mysql -h host -uqunyingliu -p51cto20140824 -e "sql语句"qunyingliu_host# mysqladmin -h myhost -u root -p "sql语句"5.mysql使用过程中常见问题
  • 重置root帐号登录密码

    qunyingliu_host# /etc/init.d/mysql stop qunyingliu_host# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & qunyingliu_host# mysql -u root mysql mysql> update user set password=password('qunyingliu@51cto') where user='root'; mysql> flush privileges; mysql> quit qunyingliu_host# /etc/init.d/mysqld restart qunyingliu_host# mysql -uroot -p
  • 使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.
    想删除表,当然用drop
    想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.
    如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据/

    实际应用:
    delete from table; //删除所有数据
    truncate table; //将auto_increatement调制从0开始,实际就是从1开始


    ##########################

    参考引用:


    本文出自 “运维者说:从菜鸟到老鸟” 博客,请务必保留此出处

    下载本文
    显示全文
    专题