mysql怎么新建练级_mysql修行练级之mysql新手入门常用命令

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开始

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

参考引用:

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

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值