mysql命令 -a_Mysql 常用命令 转

备份

mysqldump --opt dbname > dbname.20060307

恢复

mysql dbname < backup.20060307

得到表格的创建SQL 语句

SHOW CREATE TABLE tbl_name

删除行尾的"\r"

MySQL 导入的数据必须是 unix 的文件。如果你的表中一些记录的行尾是"\r",可以用这个

SQL 语句删去:

UPDATEtable_name as t SET t.column_name=SUBSTRING_INDEX(t.column_name, "\r", 1)

System error 1067 has occurred.

如果使用no-installed 的 MySQL,而且安装的位置不在 c:,则需要设置

my.ini。在 MySQL\Doc 里的文档有详细描述。一般 winxp 是在 C:\WINDOWS 目录中,新建一个 my.ini,加入这样几行:

basedir=d:\\Programs\\mysqldatadir=d:\\Programs\\mysql\\data

修改默认的engine

MySQL Query Brower 默认的 engine 是 InnoDB,其实对于单用户来说,MyISAM

更好。只要修改 Application/MySQL/mysqlx_common_options.xml 中这一行就好了。

SQL 历史

Query Brower 中不能复制 history,其实这些都在

Application/MySQL/mysqlqb_history.xml 中。

常用命令

# 修改表的名字ALTERTABLE `biblio`.`bibrefkey` RENAME TO `biblio`.`bibrefKey`;

删除重复数据

CREATETEMPORARY TABLE temp AS SELECT DISTINCT * FROM table_name;DELETEFROM table_name;INSERTINTO table_name SELECT * FROM temp;

插入时忽略重复

INSERTIGNORE table_name VALUES (...);

CONCAT_WS 函数

这个函数类似于join 函数。

CONCAT_WS(separator,

str1, str2,...)

找出重复的纪录

CREATETEMPORARY TABLE temp AS SELECT num, id FROM table_name GROUP BY CONCAT_WS("-", num, id)HAVING COUNT(*)>1;SELECTt.* FROM table_name AS t, temp WHERE t.id=temp.id and t.num=temp.num;

修改表格列类型:

一般只要这样就行了:

ALTERTABLE table_name CHANGE column_name column_defination

对于auto_increment类型,要这样:

ALTERTABLE table_name ADD PRIMARY KEY (Id);ALTERTABLE table_name CHANGE `Id` `Id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;

修改表格的默认值

ALTER TABLE table_name ALTER `id` SET DEFAULT

0;

得到表格的auto_increment 值

SHOW TABLE STATUS FROM database like "pattern";

从文件中导入数据

load data infile "file" into table db.table;

字符串替换的例子

把Custom5 字段中 hda5 替换成 sda5。也可以用 REPLACE 函数。

UPDATE bibref set Custom5=concat('/media/sda5', substring(Custom5 from 12)) where custom5 like "/media/hda5%";

字符串函数如下:

函数

功能

ASCII(str)

返回字符串第一个字符的ascii编码

BIN(N)

返回数字N的二进制字符串

BIT_LENGTH

返回字符串的二进制长度

CHAR(N,...[USING charset])

返回N对应的字符串

CHAR_LENGTH(str)

字符串的字符长度

CHARACTER_LENGTH(str)

CHAR_LENGTH的别名

COMPRESS(str)

CONCAT(str1, str2,...)

CONCAT_WS(separator, str1, str2,...)

CONV(N, from_base, to_base)

数字不同基数的转换

ELT(N, str1, str2, ...)

EXPORT_SET

FIELD

FORMAT(X, D)

HEX(N_or_S)

INSERT(str, pos, len, newstr)

INSTR(str, substr)

LCASE(str)

LEFT(str, len)

LENGTH(str)

LOAD_FILE(file_name)

LOWER(str)

LPAD(str, len, padstr)

LTRIM(str)

MAKE_SET(bits, str, str2,...)

MID(str, pos, len)

OCT(N)

OCTET_LENGTH(str)

ORD(str)

QUOTE(str)

REPEAT(str, count)

REPLACE(str, from_str, to_str)

REVERSE(str)

RIGHT(str, len)

RPAD(str, len, padstr)

RTRIM(str)

SOUNDEX(str)

SPACE(N)

SUBSTRING(str, pos, len)

SUBSTRING_INDEX(str, delim, count)

TRIM([{BOTH, LEADING, TRAILING} [remstr]

FROM] str)

UCASE(str)

UNCOMPRESS(str)

UNCOMPRESSED_LENGTH(compressed_str)

返回压缩字符串压缩前的长度

UNHEX(str)

UPPER(str)

修改密码

首先要说明一点的是:一般情况下,修改MySQL密码是需要有mysql里的root权限的,这样一般用户是无法更改密码的,除非请求管理员帮助修改。

方法一: 使用phpMyAdmin

(图形化管理 MySQL 数据库的工具),这是最简单的,直接用 SQL 语句修改 mysql 数据库库的

user 表,不过别忘了使用 PASSWORD 函数,插入用户用 Insert命令,修改用户用Update命令,删除用Delete命令。在本节后面有数据表

user字段的详细介绍。www.xker.com(小新技术网)

方法二: 使用mysqladmin。

mysqladmin -u root -p oldpassword newpasswd

执行这个命令后,需要输入root的原密码,这样root的密码将改为newpasswd。同样,把命令里的root改为你的用户名,你就可以改你自己的密码了。

当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行 mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。

下面的方法都在mysql提示符下使用,且必须有mysql的root权限:

方法三

mysql> INSERT INTO mysql.user (Host,User,Password) VALUES ('%','system', PASSWORD('manager'));mysql> FLUSH PRIVILEGES

确切地说这是在增加一个用户,用户名为system,密码为manager。注意要使用 PASSWORD函数,然后还要使用FLUSH

PRIVILEGES来执行确认。

方法四

和方法三一样,只是使用了REPLACE语句

mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES('%','system',PASSWORD('manager'));mysql> FLUSH PRIVILEGES

方法五

使用SET PASSWORD语句

mysql> SET PASSWORD FOR system@"%" = PASSWORD('manager');

你也必须使用PASSWORD()函数,但是不需要使用FLUSH PRIVILEGES来执行确认。

方法六

使用GRANT ... IDENTIFIED BY语句,来进行授权。

mysql> GRANT USAGE ON *.* TO system@"%" IDENTIFIED BY 'manager';

这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES来执行确认。

注:PASSWORD()函数作用是为口令字加密,在程序中MySQL自动解释。

如果要使用LOAD DATA INFILE 语句,需要提供 FILE 权限:

mysql> GRANT FILE ON *.* TO system@"%" IDENTIFIED BY 'manager';

也可以直接提供所有的权限:ALL PRIVILEGES 。

用SHOW VARIABLES 查看 MySQL 支持的功能

SHOW VARIABLES LIKE "have%";

查找文档

在命令行中可以使用? 或 help 命令来查找 SQL 语句的文档。比如:

mysql> ? updateName: 'UPDATE'Description:Syntax:Single-table syntax:UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_condition][ORDER BY ...][LIMIT row_count]Multiple-table syntax:UPDATE [LOW_PRIORITY] [IGNORE] table_referencesSET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_condition]....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这两个文件都是MySQL 8.0.32的Linux版本,但它们的格式不同。mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz是一种更有效的压缩格式,它可以减少文件的大小,但是你需要特定的解压缩工具才能解压它。mysql-8.0.32-linux-glibc2.12-x86_64.tar是一种普通的压缩格式,通常你可以使用标准的解压缩工具来解压它。 ### 回答2: mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz和mysql-8.0.32-linux-glibc2.12-x86_64.tar的区别在于文件格式和压缩类型。 首先,mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz是使用xz压缩工具对文件进行压缩而成的,而mysql-8.0.32-linux-glibc2.12-x86_64.tar则没有经过压缩。 其次,xz是一种高压缩率的文件压缩格式,可以将文件大小大大减小,节省存储空间。而未经过压缩的tar文件大小较大,保存在磁盘上需要更多的空间。 另外,xz压缩工具通常提供更好的压缩效率和速度,但解压缩所需的时间较长。相比之下,tar文件无需解压缩直接可以使用,更加方便。 在选择使用哪个文件时,需要根据具体的需求和环境来考虑。如果磁盘空间有限或需要节省存储空间,则可以选择使用已压缩的tar.xz文件。而如果磁盘空间充足,或需要更快速地使用该文件,则可以选择使用未经压缩的tar文件。 ### 回答3: mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz 和mysql-8.0.32-linux-glibc2.12-x86_64.tar这两个文件的区别在于它们的文件格式。 首先,两个文件都是MySQL 8.0.32版本的安装包。这是一个常用的关系型数据库管理系统,用于存储和管理数据。 其次,两个文件的名称中包含的信息相同,都表示这是Linux操作系统上的MySQL 8.0.32版本。x86_64表示这个安装包适用于64位的x86架构。glibc2.12表示所需的glibc库的最低版本是2.12。 最重要的区别在于文件的扩展名。第一个文件是以.tar.xz结尾,而第二个文件则是以.tar结尾。 .tar是一种常见的打包格式。它是一种归档格式,可以将多个文件或文件夹打包成一个单独的文件。.tar文件可以使用tar命令进行解压和解包。 而.tar.xz格式则是在.tar文件的基础上进行了压缩。它使用XZ算法对.tar文件进行了压缩,使得文件更小,占用更少的存储空间。为了使用.tar.xz文件,需要事先安装xz工具,并使用tar和xz命令进行解压和解包。 因此,如果我们希望在Linux操作系统上安装MySQL 8.0.32,我们可以根据自己的需求选择这两个文件中的一个。如果我们对存储空间有要求,可以选择.tar.xz文件,但在使用之前需要先解压和解包。如果我们对存储空间没有特别要求,可以选择.tar文件,这样可以省去解压和解包的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值