真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql怎么修改可以嗎 如何修改mysql

mysql數(shù)據(jù)庫(kù)中的collation如何修改?

mysql中怎么修改collation

成都創(chuàng)新互聯(lián)專(zhuān)注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、綏濱網(wǎng)絡(luò)推廣、小程序開(kāi)發(fā)、綏濱網(wǎng)絡(luò)營(yíng)銷(xiāo)、綏濱企業(yè)策劃、綏濱品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供綏濱建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

【問(wèn)題報(bào)錯(cuò)】

在數(shù)據(jù)庫(kù)插入數(shù)據(jù)時(shí),varchar 類(lèi)型的字段插入中文數(shù)據(jù)時(shí)報(bào)錯(cuò)。

報(bào)錯(cuò)原文:

【原因分析】

通過(guò) show full columns from user_bean;語(yǔ)句查看字段的collation屬性,發(fā)現(xiàn)字段的collation屬性值是 latin1_swedish_ci ,說(shuō)明字段默認(rèn)為英語(yǔ)。未對(duì)漢語(yǔ)進(jìn)行設(shè)置,所以當(dāng)輸入漢語(yǔ)時(shí),mysql會(huì)報(bào)錯(cuò)為“字符串的值不正確”。

【解決方法】

1、編輯mysql的配置文件 /etc/my點(diǎn)吸煙 f,vi /etc/my點(diǎn)吸煙 f

在 [mysqld] 下面加入兩行補(bǔ)充

2、重啟Mysql服務(wù) systemctl restart mysqld

向數(shù)據(jù)庫(kù)插入含中文的數(shù)據(jù),成功!

注意:上面步驟可以解決以后創(chuàng)建表時(shí)字段的collation屬性的問(wèn)題,但前面已經(jīng)創(chuàng)建的表字段的collation屬性值并不會(huì)發(fā)生變化。

如果要改變之前已經(jīng)創(chuàng)建好的表,怎么辦?

方法1:對(duì)原來(lái)的表進(jìn)行修改,可以通過(guò)類(lèi)似語(yǔ)句

alter table user_bean change address address varchar(255) character set utf8 collate utf8_general_ci not null;

方法2:刪除原來(lái)的表,重新再建。

【命令總結(jié)】

MySQL中如何修改用戶各種信息

在MySQL中修改用戶的語(yǔ)法如下:

看了這么一大坨東西,感覺(jué)啥也沒(méi)有告訴我,一臉懵逼。下面我們一起來(lái)解讀一下具體的每一個(gè)選項(xiàng)的含義。

對(duì)于這個(gè)大家應(yīng)該有所了解。

首先它是被中括號(hào)包裹起來(lái)的,表示是可選的不是必須的,也就是說(shuō)在我們的 alter user 語(yǔ)句中,這個(gè) IF EXISTS 可以不出現(xiàn)不是必須要寫(xiě)的。但是為什么還要有這個(gè)呢,這個(gè)選項(xiàng)出現(xiàn)的目的是為了讓你在執(zhí)行一個(gè) alter user 語(yǔ)句的時(shí)候,如果語(yǔ)句中指定的數(shù)據(jù)庫(kù)用戶不存在(或者你寫(xiě)用戶名稱(chēng)的是寫(xiě)錯(cuò)了),而不至于出現(xiàn)一個(gè)錯(cuò)誤的信息,如果指定了 IF EXISTS 這個(gè)詞,他就會(huì)以一個(gè)警告的信息提示你而不是直接給你一個(gè)錯(cuò)誤信息。

更直白一下就是:如果你的 alter user 的語(yǔ)句中指定的用戶確實(shí)存在,那么就執(zhí)行你的語(yǔ)句,如果不存在呢,就不執(zhí)行你的語(yǔ)句,跳過(guò)這個(gè) alter user 的指令??词纠?/p>

在上面的例子中,第一個(gè)修改用戶的語(yǔ)句,沒(méi)有使用 if exists 關(guān)鍵詞直接修改了一個(gè)不存在的用戶的信息,結(jié)果直接出現(xiàn)了錯(cuò)誤信息,接著我們使用了 if exists 關(guān)鍵詞,結(jié)果SQL語(yǔ)句執(zhí)行成功,只是出現(xiàn)了一個(gè) warning 警告,然后我們通過(guò) show warnings 命令查看警告信息的內(nèi)容,提示我們用戶 'zhangsanfeng'@'%' 不存在。這就是 if exists 關(guān)鍵詞的存在的意義。

當(dāng)我們修改一個(gè)用戶的信息的時(shí)候,我們需要指定用戶的名稱(chēng)。這個(gè)名稱(chēng),不僅僅使我們平時(shí)登錄數(shù)據(jù)庫(kù)的時(shí)候,輸入的用戶的名字,還有一個(gè)隱含的部分就是用戶登錄的 host 網(wǎng)段,這個(gè)網(wǎng)段表示只允許該用戶通過(guò)這個(gè)網(wǎng)段登錄,如果用戶不在這個(gè)定義的網(wǎng)段內(nèi),即便是用戶名和密碼正確,也不能爭(zhēng)取的登錄。

下面的創(chuàng)建用戶是兩個(gè)不同的用戶。

上面的兩個(gè)用戶中,分別表示如下:

當(dāng)然,我們可以使用模糊匹配的方式來(lái)限定用戶登錄的網(wǎng)段,比如我們創(chuàng)建下面第一個(gè)用戶表示只要這個(gè)用戶登錄的時(shí)候,使用的主機(jī)的IP地址是在 10.10.0.0~10.10.255.255 這個(gè)網(wǎng)段質(zhì)檢的任何一個(gè)IP地址都可以登錄。

特殊的網(wǎng)段 localhost 。如果我們創(chuàng)建如下的用戶,則表示該用戶只能在 MySQL 數(shù)據(jù)庫(kù)所在的服務(wù)器本機(jī)上登錄。

還有另外一個(gè)特殊的網(wǎng)段 % 。它表示用戶可以通過(guò)任何一個(gè)IP地址來(lái)登錄,不對(duì)用戶登錄的主機(jī)所在的網(wǎng)段做任何限制。如下用戶就是不對(duì)它登錄的主機(jī)IP地址做任何限制。

auth_option 選項(xiàng)的含義表示指定用戶登錄數(shù)據(jù)庫(kù)的時(shí)候使用的驗(yàn)證插件和密碼。它的選項(xiàng)有如下幾種,下面我們分別展開(kāi)分析一下各個(gè)選項(xiàng)的使用場(chǎng)景和示例。

如果在 IDENTIFIED 關(guān)鍵字后面沒(méi)有使用 WITH 關(guān)鍵字指定使用的密碼插件名稱(chēng),則會(huì)使用 MySQL 默認(rèn)的密碼插件。對(duì)于 MySQL 默認(rèn)的密碼插件是什么,可以使用下面的命令進(jìn)行查看:

通過(guò)上面的輸出,我們可以看出默認(rèn)的密碼插件采用的是 mysql_native_password 插件,參數(shù) default_authentication_plugin 的值是可以在 MySQL 的配置文件 my點(diǎn)吸煙 f 中指定的,它可以有以下兩種取值:

MySQL 的配置文件 my點(diǎn)吸煙 f 中配置默認(rèn)的密碼認(rèn)證插件的方式如下:

如果我們要修改某一個(gè)用戶的密碼認(rèn)證插件,就可以使用到 IDENTIFIED WITH auth_plugin 這個(gè)語(yǔ)句了。如果一個(gè)用戶它的密碼認(rèn)證插件使用的是默認(rèn)的 mysql_native_password ,我們想把它的密碼認(rèn)證插件修改為 sha256_password ,此時(shí)我們就可以使用下面的命令來(lái)修改:

執(zhí)行完成上述命令后, xyz 這個(gè)用戶的密碼就會(huì)設(shè)置為空,并更新它的密碼為已經(jīng)過(guò)期,同時(shí)更新了它的密碼認(rèn)證插件為 sha256_password ,結(jié)果如下所示:

更改用戶的密碼認(rèn)知方式之后,當(dāng) xyz 再次嘗試登錄 MySQL 數(shù)據(jù)庫(kù)的時(shí)候,輸入空密碼登錄成功后,會(huì)要求其修改一下自己的密碼,然后才可以執(zhí)行其他SQL語(yǔ)句的操作,這個(gè)要求和我們剛安裝 MySQL 數(shù)據(jù)庫(kù)后,第一次使用 root 登錄的時(shí)候要求修改 root 的密碼是一樣的。下面是修改完成用戶 xyz 的密碼認(rèn)證插件之后,嘗試使用空密碼登錄后的操作示例:

指定用戶的密碼認(rèn)證插件,并設(shè)置密碼。

當(dāng)我們想給用戶指定密碼的認(rèn)證插件,并且想為其設(shè)置密碼的時(shí)候,可以使用這個(gè)命令,示例如下:

這樣用戶 xyz 的密碼認(rèn)證方式修改為了 mysql_native_password ,并且修改它的密碼為 xyz 。需要我們主要的是 by 關(guān)鍵字后面跟的是密碼的明文,也就是我們嘗試登錄的時(shí)候,輸入的密碼的值。

指定用戶的密碼認(rèn)證插件,并設(shè)置密碼。

當(dāng)我們想給用戶指定密碼的認(rèn)證插件,并且想為其設(shè)置密碼的時(shí)候,可以使用這個(gè)命令,示例如下:

這樣用戶 xyz 的密碼認(rèn)證方式修改為了 mysql_native_password ,并且修改它的密碼為 xyz 。需要我們主要的是 as 關(guān)鍵字后面跟的是加密后的密碼,而不是我們的明文的密碼。如果我們想知道得到一個(gè)加密后的密碼,則可以使用下面 password() 函數(shù)來(lái)得到加密后的密碼。

這里主要是指定用戶在連接到MySQL數(shù)據(jù)庫(kù)的時(shí)候,是否需要使用加密的方式,如果使用加密的方式,則需要啟用SSL加密協(xié)議,同時(shí)也需要對(duì)MySQL進(jìn)行證書(shū)的配置。

考慮到性能的問(wèn)題,使用TLS加密的方式連接MySQL數(shù)據(jù)庫(kù)會(huì)對(duì)MySQL數(shù)據(jù)庫(kù)的性能有一定的影響。非必要情況下,一般不建議啟用TLS加密連接到數(shù)據(jù)庫(kù),因?yàn)榇蠹业腗ySQL數(shù)據(jù)庫(kù)一般都是針對(duì)內(nèi)網(wǎng)開(kāi)放的。所以,啟用TLS加密協(xié)議連接沒(méi)有必要。

resource_option 選項(xiàng)中,主要是為每一個(gè)用戶設(shè)置它所能使用到資源,做資源的使用限制。示例如下:

上面四個(gè)參數(shù)的值如果為 0 ,則表示對(duì)應(yīng)的資源限制不做任何限制。

password_option 選項(xiàng)用來(lái)配置用戶的密碼,指定其密碼的效期。下面看幾個(gè)示例:

對(duì)于MySQL系統(tǒng)默認(rèn)的有效期是多少,可以通過(guò)如下命令查看,下面的值為 0 表示密碼有效期為永久有效。

lock_option 選擇是用來(lái)鎖定和解鎖用戶的。示例如下:

我想修改mysql數(shù)據(jù)庫(kù)的名字,可以怎么修改

被取消的命令MySQL 之前提供了一個(gè) rename database db_old to db_new 的命令來(lái)直接對(duì)數(shù)據(jù)庫(kù)改名,可能由于實(shí)現(xiàn)的功能不完備(比如,這條命令可能是一個(gè)超大的事務(wù),或者是由于之前的表很多還是 MyISAM 等),后來(lái)的版本直接取消了這條命令。更改數(shù)據(jù)庫(kù)名大致上有以下幾種方案:

一、mysqldump 導(dǎo)入導(dǎo)出要說(shuō)最簡(jiǎn)單的方法,就是直接用 mysqldump 工具,在舊庫(kù)導(dǎo)出再往新庫(kù)導(dǎo)入(最原始、最慢、最容易想到)的方法:舊庫(kù) yttdb_old 導(dǎo)出(包含的對(duì)象:表、視圖、觸發(fā)器、事件、存儲(chǔ)過(guò)程、存儲(chǔ)函數(shù))

二、改整庫(kù)的表名利用 MySQL 更改表名的方法來(lái)批量把舊庫(kù)的所有表依次遍歷,改名為新庫(kù)的表。這種方法比第一種要快很多倍,但是沒(méi)有第一步操作起來(lái)那么順滑,不能一步到位。比如,要把數(shù)據(jù)庫(kù) yttdb_old 改名為 yttdb_new,如果數(shù)據(jù)庫(kù) yttdb_old 里只有磁盤(pán)表,那很簡(jiǎn)單,直接改名即可。或者寫(xiě)個(gè)腳本來(lái)批量改,非常簡(jiǎn)單。但是一般舊庫(kù)里不只有磁盤(pán)表,還包含其他各種對(duì)象。這時(shí)候可以先考慮把舊庫(kù)的各種對(duì)象導(dǎo)出來(lái),完了在逐一改完表名后導(dǎo)進(jìn)去。

三、歷史方案其實(shí)在 MySQL 早期還有一種方法。假設(shè) MySQL 部署好了后,所有的 binlog 都有備份,并且二進(jìn)制日志格式還是 statement 的話,那就可以簡(jiǎn)單搭建一臺(tái)從機(jī),讓它慢慢追主機(jī)到新的庫(kù)名,等確切要更改舊庫(kù)的時(shí)候,再直接晉升從機(jī)為主機(jī)即可。這里只需要從機(jī)配置一個(gè)參數(shù)來(lái)把舊庫(kù)指向?yàn)樾聨?kù):replicate-rewrite-db=yttdb_old-yttdb_new不過(guò)這種局限性很大,不具備標(biāo)準(zhǔn)化,不推薦。

總結(jié)其實(shí)針對(duì) MySQL 本身改庫(kù)名,大致就這么幾種方法:

如果數(shù)據(jù)量小,推薦第一種;

數(shù)據(jù)量大,則推薦第二種;

數(shù)據(jù)量巨大,那就非 MySQL 本身能解決的了。

可通過(guò)部署第三方 ETL 工具,通過(guò)解析 MySQL 二進(jìn)制日志或其他的方式來(lái)把舊庫(kù)數(shù)據(jù)直接讀取到新庫(kù)達(dá)到改名的目的等等。

Mysql如何修改用戶密碼

在使用mysql時(shí),如果想修改用戶密碼,怎么修改?我們可以借助客戶端工具來(lái)修改,下面來(lái)看一下。

01

打開(kāi)客戶端工具Navicat,打開(kāi)數(shù)據(jù)庫(kù)里的mysql庫(kù),這是一個(gè)系統(tǒng)數(shù)據(jù)庫(kù)。

02

打開(kāi)后,在Tables表里,找到user表,這是保存系統(tǒng)用戶的一個(gè)表數(shù)據(jù)。

03

打開(kāi)后,就可以在這里看到每個(gè)數(shù)據(jù)庫(kù)的用戶名和密碼了。

04

要修改密碼,我們點(diǎn)擊單元格,讓其變成編輯狀態(tài)后,直接輸入新的密碼就行了。


分享文章:mysql怎么修改可以嗎 如何修改mysql
瀏覽地址:http://weahome.cn/article/ddggoss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部