mysql数据库怎么修改 mysql怎么修改数据库名

怎样在mysql里面修改数据库名称?被取消的命令MySQL 之前提供了一个 rename database db_old to db_new 的命令来直接对数据库改名,可能由于实现的功能不完备(比如,这条命令可能是一个超大的事务,或者是由于之前的表很多还是 MyISAM 等),后来的版本直接取消了这条命令 。更改数据库名大致上有以下几种方案:
一、mysqldump 导入导出要说最简单的方法,就是直接用 mysqldump 工具 , 在旧库导出再往新库导入(最原始、最慢、最容易想到)的方法:旧库 yttdb_old 导出(包含的对象:表、视图、触发器、事件、存储过程、存储函数)
二、改整库的表名利用 MySQL 更改表名的方法来批量把旧库的所有表依次遍历,改名为新库的表 。这种方法比第一种要快很多倍,但是没有第一步操作起来那么顺滑,不能一步到位 。比如,要把数据库 yttdb_old 改名为 yttdb_new,如果数据库 yttdb_old 里只有磁盘表,那很简单,直接改名即可 。或者写个脚本来批量改,非常简单 。但是一般旧库里不只有磁盘表,还包含其他各种对象 。这时候可以先考虑把旧库的各种对象导出来 , 完了在逐一改完表名后导进去 。
三、历史方案其实在 MySQL 早期还有一种方法 。假设 MySQL 部署好了后 , 所有的 binlog 都有备份,并且二进制日志格式还是 statement 的话,那就可以简单搭建一台从机,让它慢慢追主机到新的库名,等确切要更改旧库的时候,再直接晋升从机为主机即可 。这里只需要从机配置一个参数来把旧库指向为新库:replicate-rewrite-db=yttdb_old-yttdb_new不过这种局限性很大,不具备标准化,不推荐 。
总结其实针对 MySQL 本身改库名,大致就这么几种方法:
如果数据量小,推荐第一种;
数据量大,则推荐第二种;
数据量巨大,那就非 MySQL 本身能解决的了 。
可通过部署第三方 ETL 工具,通过解析 MySQL 二进制日志或其他的方式来把旧库数据直接读取到新库达到改名的目的等等 。
如何修改mysql数据库表结构Online DDL 工具:pt-osc
对于 MySQL Online DDL 目前主流的有三种工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要讲解 pt-online-schema-change 的使用以及三种工具的简单对比 。
一、原理及限制
1.1 原理
1. 创建一个与原表结构相同的空表,表名是 _new 后缀;
2. 修改步骤 1 创建的空表的表结构;
3. 在原表上加三个触发器:delete/update/insert,用于 copy 数据过程中 , 将原表中要执行的语句在新表中执行;
4. 将原表数据以数据块(chunk)的形式 copy 到新表;
5. rename 原表为 old 表 , 并把新表 rename 为原表名 , 然后删除旧表;
6. 删除触发器 。
mysql数据库中的collation如何修改?mysql中怎么修改collation
【问题报错】
在数据库插入数据时 , varchar 类型的字段插入中文数据时报错 。
报错原文:
【原因分析】
通过 show full columns from user_bean;语句查看字段的collation属性 , 发现字段的collation属性值是 latin1_swedish_ci , 说明字段默认为英语 。未对汉语进行设置 , 所以当输入汉语时,mysql会报错为“字符串的值不正确” 。
【解决方法】
1、编辑mysql的配置文件 /etc/my.cnf,vi /etc/my.cnf
在 [mysqld] 下面加入两行补充
2、重启Mysql服务 systemctl restart mysqld
向数据库插入含中文的数据,成功!
注意:上面步骤可以解决以后创建表时字段的collation属性的问题,但前面已经创建的表字段的collation属性值并不会发生变化 。
如果要改变之前已经创建好的表 , 怎么办?
方法1:对原来的表进行修改,可以通过类似语句
alter table user_bean change address address varchar(255) character set utf8 collate utf8_general_ci not null;
方法2:删除原来的表,重新再建 。
【命令总结】
如何修改MySQL数据库名称修改MySQL数据库名称的方法如下:
1.语句修改法:
RENAME DATABASE db_name TO new_db_name
这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了 。
2.如果所有表都是MyISAM类型的话,可以改文件夹的名字
把data目录中的db_name目录重命名为new_db_name
3.重命名所有的表
代码如下:
4. mysqldump导出数据再导入
代码如下:
5.使用shell脚本重命名所有的表
代码如下:
如何修改MySQL数据库数据存储盘?在Windows操作系统中mysql数据库怎么修改,如果mysql数据库怎么修改我们通过MySql的全自动安装包安装数据库,那么数据库的数据将会默认被存储在C盘中,而C盘作为系统盘,一般情况下我们并不想放和系统无关的一些内容 。那么就需要将这些数据库数据移动到其他盘中 , 如何能够快捷方便的移动这些数据呢?
步骤其实也比较简单 。
首先,MySql的数据库数据会被默认的安装在C盘的ProgramData目录下,我们进入到ProgramData后,找到MySql文件夹 , 根据自己安装的版本不同,在MySql文件夹下会有MySql Server *.*的文件夹,点击进入后,就可能看到一个叫Data的文件夹 。
然后复制Data文件夹到你想要移动的目录下 , 例如:我想要移动到D盘的MySqlData下 。
接下来,我们需要停止MySql服务 。
可以在任务栏的搜索中,搜索“服务”,然后找到服务组件的应用并打卡 。
在服务组件的页面 , 找到“服务(本地)”,然后选中,找到名为“MySQL”开头的服务 , 并停止它 。
当然,还有一个简单的办法 , 就是先使用“WindowsR”快捷键打开运行工具,然后输入cmd回车打开“命令提示符”;或者在任务栏上搜索cmd,使用管理员打开“命令提示符” 。
然后在“命令提示符”中,输入net stop mysql,当然 , 如果你和我一样是5.*的版本,例如我的是5.7版本的mysql,那么你需要输入“net stop mysql57” 。
然后就会提示MySQL57 服务停止mysql数据库怎么修改了 。
这时 , 我们使用记事本打开mysql的配置文件my.ini,就在我们刚才移动Data的MySQL目录下 。然后找到datadir配置,修改成我们的新目录并保存 。
然后重新启动服务,启动方式和停止方式一样,在服务中右键MySQL的服务,然后选择启动 。或者通过cmd , 输入net start mysql或者好像我一样,输入net start mysql57 。
当然,这里有可能会启动服务失败,启动服务失败的原因有可能是你用来放Data的文件目录的权限问题,这是我们右键这个目录 , 然后在安全的选项卡中加上NETWORK SERVICE的角色,权限是完全控制 , 然后保存 。再启动服务试试?应该就OK了 。
最后,打开你的mysql客户端试试是否成功了吧,确认无误后,就可以把之前的Data文件夹删掉了 。
如何修改MySql数据库的用户名和密码?方法如下:
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)
mysqluse database;
mysqlsource d:/mysql.sql;
10:删除表
mysqldrop TABLE MYTABLE;
11:清空表
mysqldelete from MYTABLE;
12:更新表中数据
mysqlupdate MYTABLE set sex=”f” where name=’hyq’;
参考资料来源:百度百科:MySQL数据库
【mysql数据库怎么修改 mysql怎么修改数据库名】mysql数据库怎么修改的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql怎么修改数据库名、mysql数据库怎么修改的信息别忘了在本站进行查找喔 。

    推荐阅读