修改mysql資料庫的,修改mysql資料庫的字符集

本文目錄一覽:

如何修改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裡面修改資料庫名稱?

被取消的命令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資料庫中的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默認的數據文件存儲目錄為/var/lib/mysql。假如要把MySQL目錄移到/home/data下需要進行下面幾步:

1、home目錄下建立data目錄

cd /home

mkdir data

2、把MySQL服務進程停掉

mysqladmin -u root -p shutdown

3、把/var/lib/mysql整個目錄移到/home/data

mv /var/lib/mysql /home/data/

這樣就把MySQL的數據文件移動到了/home/data/mysql下。

4、找到my.cnf配置文件

如果/etc/目錄下沒有my.cnf配置文件,請到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

5、編輯MySQL的配置文件/etc/my.cnf

為保證MySQL能夠正常工作,需要指明mysql.sock文件的產生位置。修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/mysql.sock。操作如下:

vi  my.cnf  (用vi工具編輯my.cnf文件,找到下列數據修改之)

# The MySQL server

[mysqld]

port = 3306

#socket  = /var/lib/mysql/mysql.sock(原內容,為了更穩妥用「#」注釋此行)

socket  = /home/data/mysql/mysql.sock (加上此行)

6、修改MySQL啟動腳本/etc/init.d/mysql

最後,需要修改MySQL啟動腳本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:home/data/mysql。

[root@test1 etc]# vi /etc/init.d/mysql

#datadir=/var/lib/mysql(注釋此行)

datadir=/home/data/mysql (加上此行)

7、重新啟動MySQL服務

/etc/init.d/mysql start

或用reboot命令重啟Linux

如果工作正常移動就成功了,否則對照前面的7步再檢查一下。

還要注意目錄的屬主和許可權。

怎麼修改mysql資料庫表中內容

以windows為例

方法一(假設mysql在d:\mysql目錄下)

1、用系統管理員登陸windows系統。

2、停止MySQL的服務。

3、運行cmd進入dos命令窗口,然後進入MySQL的安裝目錄,比如安裝目錄是d:\mysql,進入d:\mysql\bin (如果是c:\Program Files\mysql目錄,目錄包含空格,使用cd “c:\Program Files\mysql”進入mysql目錄)

4、跳過許可權檢查啟動MySQL(關鍵的一步)

d:\mysql\binmysqld-nt –skip-grant-tables(會佔用一個dos控制台窗口,不能關閉)

5、重新打開一個dos控制台窗口,進入d:\mysql\bin目錄,設置root的新密碼

d:\mysql\binmysqladmin -u root flush-privileges password 【新密碼】

(注意:這條命令如果重複執行,可能需要關閉4的窗口並重新運行)

d:\mysql\binmysqladmin -u root -p shutdown(或直接關閉第一個dos控制台窗口)

將【新密碼】替換為你要用的root的密碼,第二個命令可能會提示你輸入新密碼,重複第一個命令輸入的密碼。

6、關閉MySQL的控制台窗口,用正常模式啟動Mysql

7、你可以用新的密碼鏈接到Mysql了。

方法二

1、停止mysql服務

2、找到mysql數據的data目錄,將另外一個mysql的data目錄下的mysql目錄覆蓋過來(如果知道root密碼)

(操作之前先備份mysql\data\mysql目錄的所有文件)

這種方法缺點:覆蓋掉其他的用戶,mysql的版本需相同

3、重新啟動mysql服務

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/160478.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-21 01:13
下一篇 2024-11-21 01:13

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論