ubuntu下mysql的常用命令,MySQL数据库的基本 *** 作命令
一、mysql服务 *** 作
0、查看数据库版本 sql-> status;
1、net start mysql //启动mysql服务
2、net stop mysql //停止mysql服务
3、mysql
-h主机地址 -u用户名 -p用户密码 //进入mysql数据库
4、quit //退出mysql *** 作
5、mysqladmin -u用户名
-p旧密码 password 新密码 //更改密码
6、grant select on 数据库 to 用户名@登录主机 identified by
"密码" //增加新用户
exemple:
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的 *** 作
(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据
库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb to
test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant
select,insert,update,delete on mydb to test2@localhost identified by "";
二、数据库 *** 作
1、show databases; //列出数据库
2、use
database_name //使用database_name数据库
3、create database data_name
//创建名为data_name的数据库
4、drop database data_name //删除一个名为data_name的数据库
三、表 *** 作
1、show databases;//列出所有数据库
use 数据库名;
//到达某一数据库
show tables //列出所有表
create table tab_name(
id int(10)
not null auto_increment primary key,
name varchar(40),
pwd varchar(40)
) charset=gb2312; 创建一个名为tab_name的新表
2、drop table tab_name
删除名为tab_name的数据表
3、describe tab_name //显示名为tab_name的表的数据结构
4、show
columns from tab_name //同上
5、delete from tab_name //将表tab_name中的记录清空
6、select from tab_name //显示表tab_name中的记录
7、mysqldump -uUSER -pPASSWORD
--no-data DATABASE TABLE > tablesql //复制表结构
四、修改表结构
1、 ALTER TABLE tab_name ADD PRIMARY KEY (col_name)
说明:更改表得的定义把某个栏位设为主键。
2、ALTER TABLE tab_name DROP PRIMARY KEY (col_name)
说明:把主键的定义删除
3、 alter table tab_name add col_name varchar(20);
//在tab_name表中增加一个名为col_name的字段且类型为varchar(20)
4、alter table tab_name drop
col_name //在tab_name中将col_name字段删除
5、alter table tab_name modify col_name
varchar(40) not null //修改字段属性,注若加上not null则要求原字段下没有数据
SQL
Server200下的写法是:Alter Table table_name Alter Column col_name varchar(30) not
null;
6、如何修改表名:alter table tab_name rename to new_tab_name
7、如何修改字段名:alter table tab_name change old_col new_col varchar(40);
//必须为当前字段指定数据类型等属性,否则不能修改
8、create table new_tab_name like old_tab_name
//用一个已存在的表来建新表,但不包含旧表的数据
五、数据的备份与恢复
导入外部数据文本:
1执行外部的sql脚本
当前数据库上执行:mysql < inputsql
指定数据库上执行:mysql [表名] <
inputsql
2数据传入命令 load data local infile "[文件名]" into table [表名];
备份数据库:(dos下)
mysqldump --opt school>schoolbbb
mysqldump -u
[user] -p [password] databasename > filename (备份)
mysql -u [user] -p
[password] databasename < filename (恢复)
如果从库上表 t 数据与主库不一致,导致复制错误,整个库的数据量很大,重做从库很慢,如何单独恢复这张表的数据?通常认为是不能修复单表数据的,因为涉及到各表状态不一致的问题。下面就列举备份单表恢复到从库会面临的问题以及解决办法:
场景 1
如果复制报错后,没有使用跳过错误、复制过滤等方法修复主从复制。主库数据一直在更新,从库数据停滞在报错状态(假设 GTID 为 aaaa:1-100)。
修复步骤:
在主库上备份表 t (假设备份快照 GTID 为 aaaa:1-10000);
恢复到从库;
启动复制。
这里的问题是复制起始位点是 aaaa:101,从库上表 t 的数据状态是领先其他表的。aaaa:101-10000 这些事务中只要有修改表 t 数据的事务,就会导致复制报错 ,比如主键冲突、记录不存在(而 aaaa:101 这个之前复制报错的事务必定是修改表 t 的事务)
解决办法:启动复制时跳过 aaaa:101-10000 这些事务中修改表 t 的事务。
正确的修复步骤:
1 在主库上备份表 t (假设备份快照 GTID 为 aaaa:1-10000),恢复到从库;
2 设置复制过滤,过滤表 t:
CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = ('db_namet');
3 启动复制,回放到 aaaa:10000 时停止复制(此时从库上所有表的数据都在同一状态,是一致的);
START SLAVE UNTIL SQL_AFTER_GTIDS = 'aaaa:10000';
4 删除复制过滤,正常启动复制。
注意事项:这里要用 mysqldump --single-transaction --master-data=2,记录备份快照对应的 GTID
场景 2
如果复制报错后,使用跳过错误、复制过滤等办法修复了主从复制。主、从库数据一直在更新。
修复步骤:
在主库上备份表 t (假设备份快照 GTID为 aaaa:1-10000);
停止从库复制,GTID为 aaaa:1-20000;
恢复表 t 到从库;
启动复制。
这里的问题是复制起始位点是 aaaa:20001,aaaa:10000-20000 这些事务将不会在从库上回放,如果这里面有修改表 t 数据的事务,从库上将丢失这部分数据。
解决办法:从备份开始到启动复制,锁定表 t,保证 aaaa:10000-20000 中没有修改表 t 的事务。
正确修复步骤:
对表 t 加读锁;
在主库上备份表 t;
停止从库复制,恢复表 t;
启动复制;
解锁表 t。
如果是大表,这里可以用可传输表空间方式备份、恢复表,减少锁表时间。
两种常见的断开方式:
1 根据数据库连接字符串设置链接生命周期 会自行断开
2 拿,net环境举例 MySQLDataMySqlClient类库下的 MySqlConnection类 下面有个方法 叫 Close() 即可断开连接;
访问MySqlConnection类下的 Statu (只读的)字段 可以获得当前连接状态
提示 断开后的连接 可以随时 根据需要打开
使用: mysql -u root -p 进入 mysql 命令号以后, 如果想退出, 可以使用: quit 命令, 如下:
mysql -u root -p
quit;
扩展资料:
数据库常用 *** 作:
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
1、显示数据库列表。
show databases;
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行 *** 作。
2、 显示库中的数据表:
use mysql;
show tables;
3、 显示数据表的结构:describe 表名;
4、 建库与删库:
create database 库名;
drop database 库名;
5、 建表:
use 库名;
create table 表名(字段列表);
drop table 表名;
6、 清空表中记录:
delete from 表名;
truncate table 表名;
7、 显示表中的记录:select from 表名;
MySQL登录与退出
登录Mysql:“输入mysql -u帐号 -p密码 这是登陆
mysql退出:mysql > exit;
以下是实例参考下:
登录Mysql:“输入mysql -uroot -p -P3306 -h127001”
表示超级用户名root,密码稍后输入,端口号3306(不输入P默认为3306),
主机地址127001(若使用本机作为主机,h默认127001)
mysql退出三种方法:
mysql > exit;
mysql > quit;
mysql > \q;
以上就是关于ubuntu下怎样 *** 作mysql数据库全部的内容,包括:ubuntu下怎样 *** 作mysql数据库、mysql2016数据库表复制粘贴报错,如何终止导入、如何断开MYSQL数据库连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)