MySQL修改数据表存储引擎的3种方法介绍

MySQL修改数据表存储引擎的3种方法介绍,第1张

MySQL作为最常用的数据库,经常遇到各种各样的问题。今天要说的就是表存储引擎的修改。有三种方式,列表如下。

1.真接修改。在数据多的时候比较慢,而且在修改时会影响读取性能。my_table是 *** 作的表,innoDB是新的存储引擎。

复制代码

代码如下:ALTER

TABLE

my_table

ENGINE=InnoDB

2.导出,导入。这个比较容易 *** 作,直接把导出来的sql文件给改了,然后再导回去。用mysqldump

,枫哥常用的是navicate那样更容易上手。友情提醒风险较大。

3.创建,插入。这个比第一种速度快,

安全性比第二种高,推荐。分2步 *** 作

a.创建表,先创建一个和要 *** 作表一样的表,然后更改存储引擎为目标引擎。

复制代码

代码如下:

CREATE

TABLE

my_tmp_table

LIKE

my_table

ALTER

TABLE

my_tmp_table

ENGINE=InnoDB

b.插入。为了安全和速度,最好加上事务,并限制id(主键)范围。

复制代码

代码如下:

INSERT

INTO

my_tmp_table

SELECT

*

FROM

my_table

就到这里,希望对需要的同学有帮助。

方法如下:

1、打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址

2、打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。

3、输入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法 *** 作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。

4、然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。

5、输入show databases  可以看到所有数据库说明成功登陆。

6、其中mysql库就是保存用户名的地方。输入 use mysql  选择mysql数据库。

7、show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。

8、输入select user,host,password from user  来查看账户信息。

9、更改root密码,输入update user set password=password('123456') where user='root' and host='localhost'

10、再次查看账户信息,select user,host,password from user  可以看到密码已被修改。

11、退出命令行,重启mysql数据库,用新密码尝试登录。

12、测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。

13、重启数据库之后之所以不带密码任然能够登录是因为数据库里存在设无须口令的账户。

扩展资料:

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。

MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

1:使用SHOW语句找出在服务器上当前存在的数据库:

mysql>SHOW DATABASES

2:创建一个数据库MYSQLDATA

mysql>CREATE DATABASE MYSQLDATA

3:选择你所创建的数据库

mysql>USE MYSQLDATA(按回车键出现Database changed 时说明 *** 作成功!)

4:查看现在的数据库中存在什么表

mysql>SHOW TABLES

5:创建一个数据库表

mysql>CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1))

6:显示表的结构:

mysql>DESCRIBE MYTABLE

7:往表中加入记录

mysql>insert into MYTABLE values (”hyq”,”M”)

8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)

mysql>LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE

9:导入.sql文件命令(例如D:/mysql.sql)

mysql>use database

mysql>source d:/mysql.sql

10:删除表

mysql>drop TABLE MYTABLE

11:清空表

mysql>delete from MYTABLE

12:更新表中数据

mysql>update MYTABLE set sex=”f” where name=’hyq’

参考资料来源:百度百科:MySQL数据库

1、方法一:重命名所有的表,代码如下:

CREATE

DATABASE

new_db_name

RENAME

TABLE

db_name.table1

TO

new_db_name.table1,

db_name.table2

TO

new_db_name.table2

DROP

DATABASE

db_name

2、方法二:mysqldump导出数据再导入,代码如下:

mysqldump

-uxxxx

-pxxxx

-h

xxxx

db_name

>

db_name_dump.SQL

mysql

-uxxxx

-pxxxx

-h

xxxx

-e

“CREATE

DATABASE

new_db_name”

mysql

-uxxxx

-pxxxx

-h

xxxx

new_db_name

<

db_name_dump.SQL

mysql

-uxxxx

-pxxxx

-h

xxxx

-e

“DROP

DATABASE

db_name”

3、方法三:使用shell脚本重命名所有的表,代码如下:

#!/bin/bash

mysqlconn=”mysql

-u

xxxx

-pxxxx

-S

/var/lib/mysql/mysql.sock

-h

localhost”

olddb=”db_name”

newdb=”new_db_name”

#$mysqlconn

-e

“CREATE

DATABASE

$newdb”

params=$($mysqlconn

-N

-e

“SELECT

TABLE_NAME

FROM

INFORMATION_SCHEMA.TABLES

WHERE

table_schema='$olddb'”)

for

name

in

$params

do

$mysqlconn

-e

“RENAME

TABLE

$olddb.$name

to

$newdb.$name”

done

#$mysqlconn

-e

“DROP

DATABASE

$olddb”


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8658320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存