linux系統
- mysql-5.7.14-linux.zip部署包支持在CentOS 6.x/7.x
- 服務器硬盤大小要求
a) /data/mysql_data 若是存在該獨立分區,要求該分區 >10Gmysql
b) 若是僅存在 /data 分區, 要求該分區 >10Glinux
c) 不然,要求根分區/ > 10Gsql
- MySQL_INSTALL_2016-08-17_08-25-29 文件的
sha256爲 ecc8dbe15c120017b4f56fcffd09239e9da84128e0378979997799b3d62e8f3a數據庫
驗證方法:輸入sha256sum MySQL_INSTALL_2016-08-17_08-25-29 計算值是否一致服務器
- 默認帳號 root 初始密碼
- Mysql程序目錄爲/opt/mysql_data
- Mysql配置文件爲/etc/my.cnf
- 建議將配置文件中########innodb settings########章節中的innodb_buffer_pool_size = 512M 修改成服務器內存大小的50%-80%
- Mysql服務器啓動命令:service mysqld start
- 中止命令:service mysqld stop
- 重啓命令:service mysqld restart
操做步驟
1、將mysql-5.7.14-linux.zip部署包中MySQL_INSTALL_2016-08-14_15-37-36.bin文件上傳至/opt目錄中運維
2、使用root帳號執行sh /opt/MySQL_INSTALL_2016-08-14_15-37-36.binide
3、請耐心等待自動安裝,不要作其餘操做,直至出現下圖提示安裝完成後服務器自動重啓,重啓後mysql服務自動啓動 spa
Windows安裝說明命令行
步驟1
解壓mysql-5.7.11-winx64.zip,講其中mysql文件夾拷貝至所需的安裝目錄;如下操做步驟演示以拷貝至C盤根目錄爲例;項目上存放路徑放在容量較大磁盤3d
步驟2
修改mysql目錄下的my.int配置文件,將其中路徑修改成mysql所在路徑
其中innodb_buffer_pool_size = 6G 建議修改成服務器內存大小的50%-80%
步驟3
以管理員方式打開命令行,進入mysql文件夾bin目錄,輸入如下命令進行安裝
mysqld.exe --defaults-file=C:\mysql\my.ini --user=mysql --initialize --console
在初始化完MySQL後會給出安裝mysql後root的隨機密碼
步驟4
註冊服務,繼續在改命令行窗口中輸入如下命令
mysqld --install
最後服務中啓動mysql服務便可
FAQ
修改登陸密碼
在使用默認密碼登陸後使用如下命令重置密碼,其中newpassword表示重置的新密碼
alter user 'root'@'localhost' identified by 'newpassword';
使用navicat還原mysql數據庫的注意事項
使用navicat備份還原,其本質仍是邏輯備份還原,只是在外面作了一層包裝,在還原的過程當中,會出現以下的問題:
出現這個問題的緣由有以下幾種可能性:
- 還原過程當中使用了不符合GTID要求的語法,好比create table XXX select …;
- 設置autocommit=0後,事務內有臨時表;
GTID的主要做用是讓每一個事務都有一個全局惟一的編號,這樣在作高可用以及數據恢復的時候能夠比較簡單,而不用像之前去查找當前事務在哪一個file的哪一個pos。
目前在使用navicat還原時產生上述問題,數據庫層面解決的辦法以下:
- 在/etc/my.cnf中對應的三個配置項修改爲以下
autocommit = 1
enforce-gtid-consistency = 0
gtid-mode = 0
- 重啓數據庫 service mysqld restart
- 在navicat上把以前新建的數據庫刪除,從新創建數據庫,而後再次導入數據,這樣僅僅是在數據庫層面解決這些報錯信息,可是帶來的問題須要注意:
- autocommit,默認配置裏面autocommit是爲0的,即用戶寫完SQL後,須要顯示輸入commit;纔會提交數據,這樣能夠在必定程度上避免運維人員人工出錯,至少在commit以前會看一眼上面的語句。如今autocommit=1之後,默認就輸入後當即提交。
- GTID,GTID主要解決binlog中事務ID對應的問題,設置GTID之後,高可用設置以及數據從備份恢復時會比較容易。
如今關閉該選項後,高可用設置和還原須要和之前同樣,去找filename以及pos。
UTF8的問題
MySQL中的UTF8和咱們所說的C#、Java中的UTF8是兩個概念,因爲MySQL在支持UTF8的時候,UTF8標準尚未出來,因此MySQL的UTF8實現的並不完整,MySQL中的UTF8最多僅僅佔用3個字節,而目前標準的UTF8最多可佔用4個字節。
MySQL中徹底實現UTF8標準的字符集是UTF8MB4,即MySQL中的UTF8是UTFMB4的子集。
建議使用UTF8MB4;
數據庫層面臨時解決問題的辦法:
- 在 /etc/my.cnf 中將character_set_server=utf8mb4 改爲 character_set_server=utf8 。
- 重啓數據庫 service mysqld restart
- 刪除數據庫,從新創建數據,從新導入表便可。
注意:該方法僅僅是有備份的時候,導入數據時的解決辦法,若是沒有備份,須要線上修改的話,請進行ALTER TABLE操做。