日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql数据记录更新版本问题_MySQL版本升级遇到的问题小结

發(fā)布時間:2024/9/15 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据记录更新版本问题_MySQL版本升级遇到的问题小结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天進行了項目組的mysql版本升級,過程中遇到了一些問題,做一些記錄,和大家共享。

到MySQL官網(wǎng)下載MySQL Community版,MySQL分為商業(yè)版(Enterprise)和社區(qū)版(Community),商業(yè)版是要收費的,社區(qū)版是免費的。

MySQL提供兩種類型的安裝包,一種是解壓版(Compressed Tar)的,一種是安裝版(DMG Archive)的。并且MySQL的安裝包是有32位和64位區(qū)分的,并且有mac版和Windows版的區(qū)分,下載的時候需要留意。我之前裝的是安裝版的,但是今天升級下來之后,推薦下載使用解壓版本的,因為解壓版本的可以在一臺機器上安裝多個版本。而安裝版的話是不可以的。并且解壓版的可以把層級結(jié)構(gòu)調(diào)整好之后,再有更新的時候,直接解壓就可以了,解壓之后給新版的注冊服務(wù)修改端口號就可以了。

我要升級到的版本是5.6,這個版本的新特性可以參考官網(wǎng),和一些文章:

對我們直接有用的就是timestamp,可以在需要記錄時間戳的地方使用,比較方便,但是在舊版本中一張表中只能有一個timestamp生效,要想在多種情況下使用的話,就需要使用觸發(fā)器來實現(xiàn)(比如在新建的時候需要一個字段來記錄新建時間,而更新的時候也需要一個字段來記錄更新時間),5.6之后的版本中在一張表中可以讓多種情況下timestamp都生效。

1. 在mac環(huán)境中進入MySQL 命令行模式:

先進入位置再登錄mysql數(shù)據(jù)庫:

cd /usr/local/mysql/lib

mysql -u'username' -p'password';

如果是連接到另外的機器上,則需要加入一個參數(shù)-h機器IP

可以直接把命令拼在一起,用一條命令來實現(xiàn):

/usr/local/mysql/bin/mysql -u'username' -p'password';

2. mysql的環(huán)境變量設(shè)置。

1).終端中執(zhí)行 vi ~/.bash_profile

2).點擊字母i 進入編輯模式

3). 在末尾添加以下兩行:添加完后按esc鍵, 輸入 :wq 即保存退出

alias mysql=/usr/local/mysql/bin/mysql

alias mysqladmin=/usr/local/mysql/bin/mysqladmin

4). 登錄mysql數(shù)據(jù)庫的命令:mysql -u'username' -p'password';

登錄MySQL客戶端后,查看所有用戶及擁有權(quán)限:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

3.1 創(chuàng)建用戶:

CREATE USER TEST1 IDENTIFIED BY 'TEST1';

3.2 分配權(quán)限:格式:grant權(quán)限on數(shù)據(jù)庫.* to用戶名@登錄主機identified by "密碼"

3.2.1 如果希望該用戶能夠在任何機器上登陸mysql,則將localhost改為"%"。

3.2.2 如果你不想user1有密碼,可以再打一個命令將密碼去掉。

grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

3.2.3 全部數(shù)據(jù)庫的權(quán)限:

GRANT?ALL?PRIVILEGES?ON?*.* TO?'username'@'localhost'?IDENTIFIED BY?'password';

3.2.4 某個特定數(shù)據(jù)庫(wordpress)的權(quán)限:

GRANT?ALL?PRIVILEGES?ON?wordpress.* TO?'username'@'localhost'?IDENTIFIED BY?'password';

3.2.5 指定該用戶只能執(zhí)行 select 和 update 命令:

GRANT?SELECT, UPDATE?ON?wordpress.* TO?'username'@'localhost'?IDENTIFIED BY?'password';

3.2.6 撤銷權(quán)限:

EVOKE ALL?PRIVILEGES?ON?*.* FROM?'username'@'localhost';

每當調(diào)整權(quán)限后,通常需要執(zhí)行以下語句刷新權(quán)限:FLUSH PRIVILEGES;

3.2.7 刪除創(chuàng)建的用戶:

DROP?USER?username@localhost;

不管是授權(quán),還是撤銷授權(quán),都要指定響應的host(即 @ 符號后面的內(nèi)容),因為以上命令實際上都是在操作mysql 數(shù)據(jù)庫中的user表。

3.3 顯示數(shù)據(jù)表的結(jié)構(gòu): describe表名;

3.4 刪庫:drop database庫名;

3.5 清空表:TRUNCATE 表名;

3.6 導出數(shù)據(jù):

mysqldump --opt test > mysql.test將數(shù)據(jù)庫test數(shù)據(jù)庫導出到mysql.test文件,后者是一個文本文件

mysqldump -u root -p123456 --databases dbname > mysql.dbname

就是把數(shù)據(jù)庫dbname導出到文件mysql.dbname中。

3.7 導入數(shù)據(jù):

mysqlimport -u root -p123456 < mysql.dbname

3.8 將文本數(shù)據(jù)導入數(shù)據(jù)庫:

文本數(shù)據(jù)的字段數(shù)據(jù)之間用tab鍵隔開。

use test;

load data local infile "文件名" into table表名;

4. 命令行操作MySQL遇到的報錯信息以及解決辦法:

4.1

ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation;

解決方法:這里的報錯是因為登錄MySQL的時候只是用了mysql,沒有指定用戶名和密碼導致的。這里應該是指當前登陸者沒有這個創(chuàng)建用戶的權(quán)限。

4.2

-bash: mysqld_safe: command not found(為什么進入到 /usr/local/mysql/bin/下之后,一些東西命名存在但是不能執(zhí)行?)

解決方法:如果進入到目錄都不行的時候,需要在命令前面加上sudo ./ 意思就是以管理員的權(quán)限運行當前目錄下的某個命令

4.3

總結(jié)

以上是生活随笔為你收集整理的mysql数据记录更新版本问题_MySQL版本升级遇到的问题小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。