ubuntu14.0默認安裝mysql是5.5,很多時候需要安裝5.7,于是我們可以將mysql升級。
1、下載mysql-apt的配置包,并安裝
wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb
在安裝的過程中,會要求選擇mysql版本,選擇mysql5.7版本后,點擊“OK”。
2、更新apt-get索引
sudo apt-get update
更新過程中出現如下錯誤:
W: Failed to fetch.......
在/etc/resolv.conf,加上dns
nameserver 202.96.174.133
nameserver 202.96.128.68
nameserver 8.8.8.8
再次更新,如果還有錯誤,報如下錯誤
W: GPG error: http://repo.mysql.com jessie InRelease: The following signatures were invalid: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823
解決辦法如下:
先查看執行命令:apt-key list
---------------------------------------------
pub 4096R/89DF5277 2010-07-11
uid Guillaume Plessis <gui@dotdeb.org>
sub 4096R/3D624A3B 2010-07-11
sub 4096R/A2098A6E 2010-07-11
pub 1024D/5072E1F5 2003-02-03 [expired: 2017-02-16]
uid MySQL Release Engineering <mysql-build@oss.oracle.com>
---------------------------------------------
刪除mysql 的repository GPG key,刪除命令如下:
sudo apt-key del 5072E1F5
---------------------------------------------
刪除完了之后,檢查還有沒有那個mysql的key
沒有了,執行命令:apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
如下輸出
--------------------------------------------------
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.z5SEIWWrbt --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg --keyring /etc/apt/trusted.gpg.d/php.gpg --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
gpg: requesting key 5072E1F5 from hkp server pgp.mit.edu
gpg: key 5072E1F5: "MySQL Release Engineering <mysql-build@oss.oracle.com>" 62 new signatures
gpg: Total number processed: 1
gpg: new signatures: 62
--------------------------------------------------
完成后,再執行apt-get update
3、安裝數據庫,在安裝過程中,會自動卸載已經安裝的老版本數據。
sudo apt-get install mysql-server
4、安裝mysql 后,使用mysql_upgrade升級數據庫文件版本
sudo mysql_upgrade -uroot -p'youpassword'
5、重啟mysql,并檢查數據是否正常
sudo service mysql restart
mysqlcheck -uroot -p'youpassword' --all-databases
6、檢查mysql版本,升級成功
創建新用戶
通過root用戶登錄之后創建
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 創建新用戶,用戶名為testuser,密碼為123456 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 設置用戶testuser,可以在本地訪問mysql
>> grant all privileges on *.* to testuser@"%" identified by "123456" ; // 設置用戶testuser,可以在遠程訪問mysql
>> flush privileges ; // mysql 新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統權限相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql服務器,來使新設置生效
最后:service mysql restart
3306權限不能訪問的話:iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
最后建議還是卸載后重裝
卸載:
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
檢查是否卸載干凈
dpkg -l | grep mysql # 若沒有返回,說明已完成卸載
安裝,要安裝5.7的還是先執行步驟1,2:
1. sudo apt-get install mysql-server
2. sudo apt-get install mysql-client
3. sudo apt-get install libmysqlclient-dev
安裝過程中會提示設置密碼什么的,注意設置了不要忘了,安裝完成之后可以使用如下命令來檢查是否安裝成功:
sudo netstat -tap | grep mysql
安裝完畢!!!
- MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解決方法
mysqladmin -uroot -ppasswd flush-hosts