mysql中修改數(shù)據(jù)庫目錄方法:
創(chuàng)新互聯(lián)公司公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站建設、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元三都做網(wǎng)站,已為上家服務,為三都各地企業(yè)和個人服務,聯(lián)系電話:028-86922220
操作步驟:
1.檢查mysql數(shù)據(jù)庫存放目錄
mysql -u root -prootadmin
#進入數(shù)據(jù)庫
show variables like '%dir%';
#查看sql存儲路徑
(查看datadir 那一行所指的路徑)
quit;
2.停止mysql服務
service mysqld stop
3.創(chuàng)建新的數(shù)據(jù)庫存放目錄
mkdir /data/mysql
4.移動/復制之前存放數(shù)據(jù)庫目錄文件,到新的數(shù)據(jù)庫存放目錄位置
cp -R /usr/local/mysql/data/* /data/mysql/ #或mv /usr/local/mysql/data/* /data/mysql
5.修改mysql數(shù)據(jù)庫目錄權限以及配置文件
chown mysql:mysql -R /data/mysql/
vim /etc/my.cnf
datadir=/data/mysql (制定為新的數(shù)據(jù)存放目錄)
vim /etc/init.d/mysqld
datadir=/data/mysql
6.啟動數(shù)據(jù)庫服務
service mysqld start
說明:根據(jù)以上的簡單6步操作,已經(jīng)成功的數(shù)據(jù)庫目錄更換路徑了。
以windows為例
方法一(假設mysql在d:\mysql目錄下)
1、用系統(tǒng)管理員登陸windows系統(tǒng)。
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 【新密碼】
(注意:這條命令如果重復執(zhí)行,可能需要關閉4的窗口并重新運行)
d:\mysql\binmysqladmin -u root -p shutdown(或直接關閉第一個dos控制臺窗口)
將【新密碼】替換為你要用的root的密碼,第二個命令可能會提示你輸入新密碼,重復第一個命令輸入的密碼。
6、關閉MySQL的控制臺窗口,用正常模式啟動Mysql
7、你可以用新的密碼鏈接到Mysql了。
方法二
1、停止mysql服務
2、找到mysql數(shù)據(jù)的data目錄,將另外一個mysql的data目錄下的mysql目錄覆蓋過來(如果知道root密碼)
(操作之前先備份mysql\data\mysql目錄的所有文件)
這種方法缺點:覆蓋掉其他的用戶,mysql的版本需相同
3、重新啟動mysql服務
mysql重新編輯表的方法:首先輸入命令describe查看當前的數(shù)據(jù)表結(jié)構信息。然后通過命令“alter...add...”添加新的字段信息。最后通過“alterchange”命令修改字段信息即可。推薦:《mysql視頻教程》。
mysql中怎么修改collation
【問題報錯】
在數(shù)據(jù)庫插入數(shù)據(jù)時,varchar 類型的字段插入中文數(shù)據(jù)時報錯。
報錯原文:
【原因分析】
通過 show full columns from user_bean;語句查看字段的collation屬性,發(fā)現(xiàn)字段的collation屬性值是 latin1_swedish_ci ,說明字段默認為英語。未對漢語進行設置,所以當輸入漢語時,mysql會報錯為“字符串的值不正確”。
【解決方法】
1、編輯mysql的配置文件 /etc/my.cnf,vi /etc/my.cnf
在 [mysqld] 下面加入兩行補充
2、重啟Mysql服務 systemctl restart mysqld
向數(shù)據(jù)庫插入含中文的數(shù)據(jù),成功!
注意:上面步驟可以解決以后創(chuàng)建表時字段的collation屬性的問題,但前面已經(jīng)創(chuàng)建的表字段的collation屬性值并不會發(fā)生變化。
如果要改變之前已經(jīng)創(chuàng)建好的表,怎么辦?
方法1:對原來的表進行修改,可以通過類似語句
alter table user_bean change address address varchar(255) character set utf8 collate utf8_general_ci not null;
方法2:刪除原來的表,重新再建。
【命令總結(jié)】