操做系統:CentOS 7.4 內核版本3.10..0-693,可以使用uname -a命令查看
Oracle JDK 1.8_171(建議使用Oracle JDK),可以使用java -version命令查看
若有防火牆策略請放開3306端口,或者關閉防火牆策略
查看是否有自帶MySQL,命令:java
rpm -qa | grep -i mysql
若是有就刪除,命令:node
rpm -e --nodeps 查看到的選項
下載MySQL 5.7.19,到官網下載:https://downloads.mysql.com/archives/community/
如上圖,若是你是CentOS 6的系統就選擇el6版本(本例系統是7MySQL是el6的),下載完成以後上傳到主機的/opt目錄下(目錄隨意)mysql
給壓縮包權限:sql
chmod 777 mysql-5.7.19-1.el6.x8664.rpm-bundle.tar # 使用非root用戶可能有權限問題
解壓:數據庫
tar -xvf mysql-5.7.19-1.el6.x8664.rpm-bundle.tar # 解壓後獲得的是一堆RPM包
安裝RPM包:vim
rpm -ivh mysql-community-server-5.7.19-1.el6.x8664.rpm mysql-community-client-5.7.19-1.el6.x8664.rpm mysql-community-devel-5.7.19-1.el6.x8664.rpm mysql-community-libs-5.7.19-1.el6.x8664.rpm mysql-community-libs-compat-5.7.19-1.el6.x8664.rpm mysql-community-common-5.7.19-1.el6.x8664.rpm
若是執行有問題,執行命令:ide
rpm -ivh ./*.rpm --nodeps --force # 安裝文件夾下全部RPM而且不檢查依賴
安裝完畢後啓動數據庫ui
service mysqld start
查看數據庫狀態編碼
service mysqld status
查看3306端口是否開啓操作系統
netstat -anp | grep 3306
首次登陸不知道密碼 解決辦法:
grep "password" /var/log/mysqld.log #查看臨時密碼
2018-04-18T14:16:58.026412Z 0 [Note] Shutting down plugin 'sha256_password' 2018-04-18T14:16:58.026415Z 0 [Note] Shutting down plugin 'mysql_native_password' 2018-04-18T14:22:52.728686Z 1 [Note] A temporary password is generated for root@localhost: 2h>o#oCyMszj 2018-04-18T14:22:56.773518Z 3 [Note] Access denied for user 'UNKNOWN_MYSQL_USER'@'localhost' (using password: NO)
使用上面的臨時密碼登陸MySQL(第三行最後冒號後面的:2h>o#oCyMszj),登錄
mysql -uroot -p # 回車鍵入臨時密碼
後執行下面語句更新root密碼
mysql> SHOW VARIABLES LIKE 'validate_password%'; # 查看密碼規則 mysql> mysql> set password=password('新root密碼'); # 設置密碼 Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> mysql> update mysql.user set authentication_string=password('新root密碼') where user='root' and Host = 'localhost'; Query OK, 0 rows affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 0 Warnings: 1 mysql> mysql> flush privileges; # 刷新權限 Query OK, 0 rows affected (0.00 sec) mysql> mysql> quit # 退出數據庫
編輯文件:
vim /etc/my.cnf
在[mysqld]上面增長:
[client] default-character-set=utf8
在[mysqld]下面增長:
character-set-server=utf8 collation-server=utf8_general_ci
重啓數據庫:
service mysqld restart
使用: mysql -uroot -p新密碼 登錄
mysql> CREATE DATABASE 數據庫名 CHARACTER SET utf8 COLLATE utf8_general_ci; # 建立數據庫並指定編碼集 mysql> CREATE USER '用戶名' IDENTIFIED BY '密碼'; #建立用戶 mysql> GRANT ALL ON 數據庫名.* TO '用戶名'@'%' IDENTIFIED BY '密碼'; # 給用戶賦予數據庫遠程訪問權限 mysql> GRANT ALL ON 數據庫名.* TO '用戶名'@'localhost' IDENTIFIED BY '密碼'; # 給用戶賦予數據庫本地訪問權限 mysql> FLUSH PRIVILEGES; # 刷新權限 mysql> quit; # 退出數據庫
root用戶開啓遠程登陸權限:
GRANT ALL PRIVILEGES ON *.* to 'root'@'%' identified by 'root密碼';
root用戶指定開啓某臺主機登陸權限:
GRANT ALL PRIVILEGES ON *.* to 'root'@'IP或者主機名' identified by 'root密碼';