精华内容
下载资源
问答
  • 修改参数名数据库mysql
    千次阅读
    2021-01-19 15:31:38

    展开全部

    被取62616964757a686964616fe4b893e5b19e31333433653931消的命令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数据库参数

    千次阅读 2020-07-01 17:55:26
    查看和修改MySQL数据库参数 MySQL依赖大量的参数来控制SQL的处理执行过程。mysql.cnf文件是mysql默认的参数配置文件,mysql启动时会优先在一些特定位置寻找并读取该文件。my.cnf不存在时并不会影响MySQL实例的初始化...

    查看和修改MySQL数据库参数

    MySQL依赖大量的参数来控制SQL的处理执行过程。mysql.cnf文件是mysql默认的参数配置文件,mysql启动时会优先在一些特定位置寻找并读取该文件。my.cnf不存在时并不会影响MySQL实例的初始化启动,参数值取决于编译MySQL时指定默认值和源代码中指定参数的默认值。

    一、MySQL参数的分类

    MySQL参数可以分为静态(static)参数和动态(dynamic)参数,区别在于参数值是否可以在实例的生命周期内修改并生效。

    1、静态参数

    静态参数在数据库启动期间不能被修改。静态参数设置之后必须要重启才能生效。比如:log_slave_updates,back_log,log_bin,lower_case_table_names。对于静态参数,没有global级和session级区分。

    2、动态参数

    动态参数在数据库启动期间能被修改,动态参数又分为两种:global级,session级。session作用域修改后不影响其他已经开启和之后开启的session。global作用域参数值修改后,修改前已经开启的session不会生效,会在新创建的session中生效。

    二、MySQL参数查看

    以wait_timeout参数为例:

    1、global级参数的查看

    方法一:

    mysql> select @@global.wait_timeout;
    +-----------------------+
    | @@global.wait_timeout |
    +-----------------------+
    |                 28800 |
    +-----------------------+
    1 row in set (0.00 sec)
    

    方法二:

    mysql> show global variables like '%wait_timeout%';
    +--------------------------+----------+
    | Variable_name            | Value    |
    +--------------------------+----------+
    | innodb_lock_wait_timeout | 50       |
    | lock_wait_timeout        | 31536000 |
    | wait_timeout             | 28800    |
    +--------------------------+----------+
    3 rows in set (0.01 sec)
    

    方法三:

    mysql> select * from performance_schema.global_variables where variable_name ='wait_timeout';
    +---------------+----------------+
    | VARIABLE_NAME | VARIABLE_VALUE |
    +---------------+----------------+
    | wait_timeout  | 28800          |
    +---------------+----------------+
    1 row in set (0.00 sec)
    
    mysql> select * from performance_schema.global_variables where variable_name like '%wait_timeout%';
    +--------------------------+----------------+
    | VARIABLE_NAME            | VARIABLE_VALUE |
    +--------------------------+----------------+
    | innodb_lock_wait_timeout | 50             |
    | lock_wait_timeout        | 31536000       |
    | wait_timeout             | 28800          |
    +--------------------------+----------------+
    3 rows in set (0.01 sec)
    

    2、session级参数的查看

    方法一:

    mysql> select @@wait_timeout;
    +----------------+
    | @@wait_timeout |
    +----------------+
    |          28800 |
    +----------------+
    1 row in set (0.00 sec)
    

    方法二:

    mysql> select @@session.wait_timeout;
    +------------------------+
    | @@session.wait_timeout |
    +------------------------+
    |                  28800 |
    +------------------------+
    1 row in set (0.00 sec)
    

    方法三:

    mysql> show variables like '%wait_timeout%';
    +--------------------------+----------+
    | Variable_name            | Value    |
    +--------------------------+----------+
    | innodb_lock_wait_timeout | 50       |
    | lock_wait_timeout        | 31536000 |
    | wait_timeout             | 28800    |
    +--------------------------+----------+
    3 rows in set (0.00 sec)
    

    方法四:

    mysql> show session variables like '%wait_timeout%';
    +--------------------------+----------+
    | Variable_name            | Value    |
    +--------------------------+----------+
    | innodb_lock_wait_timeout | 50       |
    | lock_wait_timeout        | 31536000 |
    | wait_timeout             | 28800    |
    +--------------------------+----------+
    3 rows in set (0.00 sec)
    

    方法五:

    mysql> select * from performance_schema.session_variables where variable_name like '%wait_timeout%';
    +--------------------------+----------------+
    | VARIABLE_NAME            | VARIABLE_VALUE |
    +--------------------------+----------------+
    | innodb_lock_wait_timeout | 50             |
    | lock_wait_timeout        | 31536000       |
    | wait_timeout             | 28800          |
    +--------------------------+----------------+
    3 rows in set (0.00 sec)
    

    三、MySQL参数修改

    1、session级参数的修改

    方法一:

    mysql> set wait_timeout=10;
    Query OK, 0 rows affected (0.00 sec)
    

    方法二:

    mysql> set session wait_timeout=10;
    Query OK, 0 rows affected (0.00 sec)
    

    方法三:

    mysql> set @@wait_timeout=10;
    Query OK, 0 rows affected (0.00 sec)
    

    方法四:

    mysql> set @@session.wait_timeout=10;
    Query OK, 0 rows affected (0.00 sec)
    

    2、global级参数的修改

    方法一:

    mysql> set global wait_timeout=10;
    Query OK, 0 rows affected (0.00 sec)
    

    方法二:

    mysql> set @@global.wait_timeout=10;
    Query OK, 0 rows affected (0.00 sec)
    

    四、将参数值设置为MySQL的默认值

    1、session级参数

    mysql> set wait_timeout=DEFAULT;
    Query OK, 0 rows affected (0.00 sec)
    

    2、global级参数

    mysql> set global wait_timeout=DEFAULT;
    Query OK, 0 rows affected (0.00 sec)
    

    五、静态参数的修改以及使动态参数永久生效

    如果需要使动态参数的设置永久生效,必须修改参数文件并重启MySQL生效。而静态参数只能通过修改参数文件使之生效。比如:

    # vi /etc/my.cnf
    [mysqld]
    wait_timeout=10
    
    展开全文
  • 数据库隔离级别有四种,应用《高性能mysql》一书中的说明:然后说说修改事务隔离级别的方法:1.全局修改修改mysql.ini配置文件,在最后加上#可选参数有:READ-UNCOMMITTED,READ-COMMITTED,REPEATABLE-READ,...
  • 本篇文章是对修改mysql数据库的max_allowed_packet参数进行了详细的分析介绍,需要的朋友参考下
  • MySQL数据库参数设置

    2017-04-24 11:53:58
    MySQL服务器参数设置模版
  • 里介绍修改php.ini实现Mysql导入数据库文件最大限制的修改方法,简单说明了wampserver服务器上针对php.ini配置文件上传限制参数、内存限制参数以及post传输参数修改方法,需要的朋友可以参考一下
  • 基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了。假如这还是线上环境核心业务数据,那这事就闹大了。误操作后...
  • 安装MySQL以及修改MySQL数据库权限

    千次阅读 2022-03-15 10:03:14
    1.首先:需要配置环境变量 新建 MYSQL_HOME F:\mysql-8.0.28-winx64 在Path里面 设置 %MYSQL_HOME%\bin 2.其次:配置文件my.ini的详细说明 参考...

    mysql官网:https://dev.mysql.com/downloads/windows/installer/

    #安装步骤以及测试

    1.首先:需要配置环境变量 新建 MYSQL_HOME  F:\mysql-8.0.28-winx64
                  在Path里面 设置 %MYSQL_HOME%\bin

    2.其次:配置文件my.ini的详细说明 参考https://link.zhihu.com/?          target=https%3A//blog.csdn.net/hanwuqia0370/article/details/85680775

    3.然后:以管理员身份打开cmd命令框    初始化mysql  

                  mysqld --initialize --console 执行完成后,会输出root用户的初始密码

     4.最后: 安装命令:mysqld install   
                    启动命令: net start mysql 

    5.就可以看到服务里面的mysql是启动着呢

    MySQL数据库权限:

    异常信息:java.sql.SQLException: null, message from server: “Host ‘XXX‘ is not allowed to connect异常

    问题描述:搭建框架后访问数据库报错,不允许本机ip访问。

    解决办法:修改MySQL数据库权限

     

    展开全文
  • 如何修改MySQL数据库名称

    万次阅读 2020-09-26 00:51:56
    MySQL修改数据库名称比较麻烦,不支持直接修改,需要通过其它方式间接达到修改数据库名称的目的。 在 MySQL 5.1.23 之前的旧版本中,我们可以使用 RENAME DATABASE 来重命名数据库,但此后版本,因为安全考虑,删掉...

    比如数据库名称old_db想改名为new_db

    • MySQL修改数据库名称比较麻烦,不支持直接修改,需要通过其它方式间接达到修改数据库名称的目的。
    • 在 MySQL 5.1.23 之前的旧版本中,我们可以使用 RENAME DATABASE 来重命名数据库,但此后版本,因为安全考虑,删掉了这一条命令。

    方法一:先导出数据,再导入数据

    当数据库体积比较小时,最快的方法是使用mysqldump命令来创建整个数据库的转存副本,然后新建数据库,再把副本导入到新数据库中。

    1.1 先创建新库:

    create database new_db;
    

    1.2 使用mysqldump导出数据:

    mysqldump -uroot -p123456 --set-gtid-purged=OFF old_db > /tmp/old_db.sql
    
    仅是做普通的本机备份恢复时,可以添加
    --set-gtid-purged=OFF
    作用是在备份时候不出现GTID信息
    

    1.3 导入数据到新库:

    mysql -uroot -p123456 new_db < /tmp/old_db.sql
    

    方法二:通过修改表名称,间接实现修改数据库名称

    使用此方法实际上将所有表从一个数据库移动到另一个数据库,这实际上重命名了该数据库(MySQL没有单个语句的操作),移动后原始数据库继续存在,但是里面没有表。

    RENAME TABLEhttps://dev.mysql.com/doc/refman/5.7/en/rename-table.html

    2.1 先创建新库:

    create database new_db;
    

    2.2 使用RENAME TABLE命令修改表名,将表移动到新的库里:

    rename table old_db.tb to new_db.tb;
    

    2.3 完成后删除旧库:

    drop database old_db;
    

    2.4 如何使用shell脚本来批量修改表名:

    • 当库下表比较多的时候,用上面方法纯手动也不现实,好在linux下可以用shell脚本来批处理。
    • 附上一个shell脚本批量修改表名称。
    #!/bin/bash
    mysql -uroot -p123456 -e 'create database if not exists new_db;'
    list_table=$(mysql -uroot -p123456 -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='old_db'")
    
    for table in $list_table
    do
        mysql -uroot -p123456 -e "rename table old_db.$table to new_db.$table"
    done
    
    mysql登陆命令行参数
    • -e, --execute=name # 执行mysql的sql语句
    • -N, --skip-column-names # 不显示列信息
    • -s, --silent # 一行一行输出,中间有tab分隔

    因为有悔,所以披星戴月;因为有梦,所以奋不顾身! 个人博客首发:easydb.net 微信公众号:easydb 关注我,不走丢!

    展开全文
  • 常用的修改表操作有:修改名修改字段数据类型或字段,增加和删除字段,修改字段的排列位置,更改表的存储引擎,删除表的外键约束。1,修改表名mysql是通过alter table 语句来实现表名来修改的,具体语法如下:...
  • 怎么改mysql数据库的名字

    千次阅读 2021-03-04 03:25:24
    mysql数据库名称的方法:首先创建目标...改mysql数据库名称的方法:1、如果是MyISAM的话,只要修改DATA目录下面的那个库名的文件夹的名字就OK了2、如果是INNODB的话,其实是无法修改库名的,网上瞎咧dao咧的什么R...
  • mysql动态修改参数

    千次阅读 2021-01-18 22:49:36
    mysql数据库可以动态的修改参数,即可以修改会话级变量只对当前会话产生影响;又可以修改全局变量,对所有新连接的会话都产生影响。1>修改全局变量[root@admin root]# mysqlmysql> show variables like ‘%...
  • MySQL数据库参数优化

    千次阅读 2021-03-08 01:31:33
    数据库属于 IO 密集型的应用程序,其...本文先从 MySQL 数据库IO相关缓存参数的角度来介绍可以通过哪些参数进行IO优化: 一、参数说明: 1、query_cache_size / query_cache_type (global): Query cache 主要.
  • mysql默认数据库

    千次阅读 2021-01-20 21:02:14
    默认数据库分类:information_schemaperformance_schemamysqltestinformance_schema保存了MySQl服务所有数据库的信息。...mysql保存MySQL的权限、参数、对象和状态信息。如哪些user可以访问这个数据、D...
  • Flask连接数据库mysql

    千次阅读 2021-11-07 20:14:59
    SQL数据库是指关系型数据库: 表(table):存储数据的特定结构 模式(schema): 定义表的结构信息 文档存储(document store) { id:1, name:'nick', sex:'Male', occupation: 'Journalist' } 键值对存储(key-value ...
  • 更改MySQL配置文件My.ini中的数据库存储主路径 打开MySQL默认的安装文件夹C:\Program Files\MySQL\MySQL Server 5.1中的my.ini文件,点击记事本顶部的“编辑”,“查找”,在查找内容中输入datadir后并点击“查找下...
  • 欢迎进入Oracle社区论坛,...他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入数据库名数据库实例数据库域名一、数据库名...
  • 首先把mysql的服务先停掉,更改MySQL配置文件My.ini中的数据库存储主路径,将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径,接下来重启搞定一.首先把mysql的服务先停掉。二.更改MySQL配置文件My...
  • MySQL手册上也有服务器端参数的解释,以及参数值的相关说明信息,现针对我们大家重点需要注意、需要修改或影响性能 的服务器端参数,作其用处的解释和如何配置参数值的推荐,此事情拖了不少时间,为方便大家帮忙纠错...
  • MYSQL数据库具体操作_MySQL

    千次阅读 2021-02-02 09:40:20
    提示:本文描述了连接数据库服务器、更新用户密码、MySQL读取配置文件的顺序、重设置...1. 连接数据库服务器$ ./mysql -h host_name -u user_name -p-h host_name(--host=host_name),连接的数据库主机,如果在...
  • 千万里不及你方法如下:1、打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址2、打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。3、输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户...
  • python操作mysql数据库

    千次阅读 多人点赞 2022-05-12 13:44:30
    python操作数据库的过程: 创建连接—获取游标—执行命令—关闭游标—关闭连接 python访问mysql要用pymysql库 pymysql需要安装:pip install pymysql 导入pymysql
  • MySQL数据库基本命令

    万次阅读 多人点赞 2021-06-22 15:46:13
    MySQL数据库基本命令一、概述数据库结构常用数据类型二、查看数据库结构查看当前服务器中的数据库查看数据库中包含的表查看表的结构(字段)三、SQL语句介绍四、创建及删除数据库和表(DDL)创建新的数据库创建新的...
  • 数据库:MySQL 修改密码

    千次阅读 2022-03-06 09:47:25
    1.改动数据库配置表 编辑/etc/my.cnf,在配置表后方加入“skip-grant-tables”,意思是跳过跳过授权表,即不再坚定账号密码的正确性,使用service mysqld restart重启mysql,输入mysql -uroot -p,直接回车进入数据库...
  • MySQL中没有直接修改数据库名的语句、命令。 可以通过以下方式(备份)达到修改的效果: 1)mysqldump -h[ip] -u[username] -p[password] databases>D:\backup.sql; 2)create database new_database_name; 3)...
  • 数据库连接参数使用方法详解

    千次阅读 2021-01-27 08:20:34
    其中最重要的信息就是数据库的连接参数。在Delphi中,获得正确的数据库连接参数的方法十分简单,你只需要建立一个数据模块,在其中添加一个ADO Connection,双击之,然后在弹出的窗口中选“Use Connection String”...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 433,405
精华内容 173,362
热门标签
关键字:

修改参数名数据库mysql

mysql 订阅