下載
- windows10 64位
- Linux 64位
- 頁面到底選擇 No thanks, just start my download.
Linux(CentOS 7.5)下安裝
1.卸載自帶的MySQL服務
- 停止服務 service mysqld stop
- 查看自帶MySQL服務 rpm -qa | grep mariadb
- 刪除服務 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
2.安裝上傳的mysql
- 先安裝server
- rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm --nodeps
- 再安裝客戶端
- rpm -ivh mysql-community-client-8.0.15-1.el7.x86_64.rpm --nodeps
- 再安裝devel
- rpm -ivh mysql-community-devel-8.0.15-1.el7.x86_64.rpm --nodeps
3.編輯mysql配置信息
- vi /etc/my.cnf 末行添加
- 注:utf8mb4 是utf-8的升級支持emoji庫的存儲及表情 使用utf8 linux下出錯 win10下警告
[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=D:\Program Files\MySQL
# 設置mysql數據庫的數據的存放目錄
datadir=D:\Program Files\MySQL\data
# 允許最大連接數
max_connections=2000
# 允許連接失敗的次數。這是爲了防止有人從該主機試圖攻擊數據庫系統
max_connect_errors=10
# 服務端使用的字符集
character-set-server=utf8mb4
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
#超時設置
wait_timeout=2147483
interactive_timeout=2147483
#設置默認時區
default-time_zone ='+8:00'
#關閉SSL
#skip_ssl
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8mb4
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8mb4
注意:default-time_zone ='+8:00' 解決找不到當前位置所在時區,jdk是末位偶數版本不需要配置(例如:jdk1.8.0_u202)
4.查看臨時密碼
- service mysqld start
- grep 'password' /var/log/mysqld.log | head -n 1
5.登錄
- service mysqld restart
- mysql -uroot -p
- 注意:在p後面不要跟密碼,8版本(8.0.13登錄失敗,8.0.15登錄成功)會登錄失敗,回車再輸入密碼
6.修改密碼策略
- 注意:linux下安裝mysql版本都有密碼策略,8.0.15兩個系統密碼策略都不能使用(親測已取消修改策略)
- win10下8.0.0版本至8.0.12版本密碼爲123456需要配置,win10下安裝mysql 8.0.13之後版本不需要設置即可使用
- 5版本密碼策略是全部都是下劃線沒有點 例如:
- 8版本 set global validate_password.policy=0;
- 5版本 set global validate_password_policy=0;
- 查看密碼策略 : show variables like 'validate_password%'; 必須修改密碼才能查看
- 請手敲不要粘貼複製可能會失敗
-
set global validate_password.policy=LOW;(0或LOW代表低級) 密碼驗證策略低要求 set global validate_password.mixed_case_count=0; 密碼至少要包含的小寫字母個數和大寫字母個數 set global validate_password.number_count=0; 密碼至少要包含的數字個數。 set global validate_password.special_char_count=0; 密碼至少要包含的特殊字符數 set global validate_password.length=6; 密碼長度
7. 修改密碼
- set global validate_password.policy=LOW;
- alter user 'root'@'localhost' IDENTIFIED BY '密碼';
- 密碼不能使用root
- 使用win10 裝有mysql 連接失敗是密碼策略不同在 my.cnf添加 default_authentication_plugin=mysql_native_password
8.修改mysql訪問權限
- -uroot -proot
- Use mysql
- update user set host='%' where user ='root';
- select host,user from user;
- Flush privileges;
9.防火牆開放端口
- 爲了安全起見開放端口即可,防火牆不需要關閉
- sudo firewall-cmd --list-all 查看開放端口
- sudo firewall-cmd --add-service=http --permanent
- sudo firewall-cmd --add-port=80/tcp --permanent
- --add-port=80/tcp #添加端口,格式爲:端口/通訊協議
- --permanent #永久生效,沒有此參數重啓後失效
10.開啓啓動服務
- systemctl enable mysqld
11.JDK安裝(選修課)
- 解壓 tar -zxvf jdk-1.8.0 -C 安裝到指定目錄
- 配置環境變量
- vi /etc/profile
- 末尾添加 java_home 是解壓後的jdk
- #JAVA_HOME
- export JAVA_HOME=/opt/modules/jdk1.8.0
- export PATH=$PATH:$JAVA_HOME/bin
- 保存之後要輸入 source /etc/profile 配置環境才能生效
win 10下安裝
1.在mysql根目錄下新建my.ini即可,將配置信息複製
[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=D:\Program Files\MySQL
# 設置mysql數據庫的數據的存放目錄
datadir=D:\Program Files\MySQL\data
# 允許最大連接數
max_connections=2000
# 允許連接失敗的次數。這是爲了防止有人從該主機試圖攻擊數據庫系統
max_connect_errors=10
# 服務端使用的字符集
character-set-server=utf8mb4
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
#超時設置
wait_timeout=2147483
interactive_timeout=2147483
#設置默認時區
default-time_zone ='+8:00'
#關閉SSL
#skip_ssl
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8mb4
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8mb4
error: Found option without preceding group in config file
原因是my.ini 文件可能是UTF-8編碼,打開記事本選擇另存爲選擇編碼ANSI
配置環境變量 F:\app\MySQL\bin
2.使用CMD要以管理員身份運行否則會失敗
- 切換到MySQL的\ BIN目錄下
- F:\app\MySQL\bin>
- 執行
- F:\app\MySQL\bin>mysqld --initialize --console
- 執行成功會顯示臨時密碼在執行結果中查找臨時密碼要是emeeCudur6%H要記住
- root @ localhost:emeeCudur6%H
3.安裝服務
- F:\app\MySQL\bin> mysqld --install
4.啓動服務
- F:\app\MySQL\bin> net start mysql
5.修改密碼
- alter user 'root'@'localhost' IDENTIFIED BY '密碼';
6.配置訪問權限(允許其它主機訪問)
-uroot -proot
Use mysql
Update user set host=’%’ where user=’root’;
Select host,user from user;
Flush privileges;