MySQL8.0安裝以及介紹(二進制)


 

MySQL相關產品介紹:

Oracle MySQL Cloud Service(commercial)

  商業付費軟件,基於Mysql企業版和Oracle雲服務提供企業級MySQL數據庫服務

MySQL Enterprise Edition(commercial)

  商業付費軟件,除了提供MySQL數據庫之外,還包括了程序連接接口(connector),表分區(partition),企業級監控(monitor),高可用(HA),備份(backup) 擴展(scalability)等服務

MySQL Cluster CGE(commercial)

  商業付費軟件,基於MySQL Cluster和企業版擁有的各項功能提供企業級的高並發,高吞吐的數據服務

MySQL Community Edition

  免費社區軟件,提供基礎的數據庫服務和其他衍生服務

MySQL Community Server

  最流行的開源數據庫管理軟件

Mysql Cluster

  基於Mysql數據庫而實現的集群服務,自身能提供高並發負載等特性

Msql Fabric

  Mysql官方提供的關於Mysql數據庫高可用和數據庫分片的解決方案

Mysql Connectors

  為應用程序提供JDBC/ODBC等訪問Mysql數據庫的接口服務

 

 

MySQL Community Server各個版本主要區別

Mysql4.0版本:

  增加了子查詢的支持,字符集增加了UTF-8 GROUP BY 語句增肌了ROLLUP   mysql.user表才用了更好的加密算法,innodb開始支持單獨的表空間

Mysql5.0版本:

  增加了stored procedures, views,Cursors,Triggers ,XA transactions的支持,增加INFORATION_SCHEMA系統數據庫

Mysql5.5版本:

  默認存儲引擎更改為Innodb,提高性能和可擴展性,增加了半同步復制

Mysql5.6版本:

  提高Innodb性能,支持延遲復制

Mysql5.7版本:

  提升數據庫性能和存儲引擎,更健壯的復制功能,增加sys系統庫存放數據庫管理信息

Mysql8.0后續會更新....

 

官方網址: https://dev.mysql.com/downloads/mysql/

 

 

 

 

 直接下載地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz

 

#上傳到服務器(通過xshell上傳到服務器)

yum install -y lrzsz
rz -y #選擇你下載的mysql安裝包 或者 直接wget 下載URL地址 直接在服務器上下載

 

#將包拷貝到/usr/local/下解壓縮,並且更改名稱

mv /root/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz /usr/local/
tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql

 

 

 #目錄詳解

cd mysql/
ls
drwxr-xr-x.  2 7161 31415   4096 6月  27 06:35 bin           #執行命令
drwxr-xr-x.  2 7161 31415     86 6月  27 06:35 docs          #文檔
drwxr-xr-x.  3 7161 31415    261 6月  27 06:35 include       #頭文件
drwxr-xr-x.  6 7161 31415   4096 6月  27 06:35 lib           #lib包
-rw-r--r--.  1 7161 31415 336955 6月  25 18:23 LICENSE      
-rw-r--r--.  1 7161 31415 101805 6月  25 18:23 LICENSE.router
drwxr-xr-x.  4 7161 31415     30 6月  27 06:35 man           #man的信息
-rw-r--r--.  1 7161 31415    687 6月  25 18:23 README
-rw-r--r--.  1 7161 31415    700 6月  25 18:23 README.router
drwxrwxr-x.  2 7161 31415      6 6月  27 06:35 run
drwxr-xr-x. 28 7161 31415   4096 6月  27 06:35 share         #字符信息
drwxr-xr-x.  2 7161 31415     77 6月  27 06:35 support-files #mysql.server啟動服務
drwxr-xr-x.  3 7161 31415     17 6月  27 06:35 var

 

#創建存放數據目錄 data

mkdir data

#創建mysql用戶和組,授權data目錄

groupadd mysql
useradd mysql -g mysql
chown mysql.mysql data

 

#mysql初始化(會在data目錄里生成文件)

bin/mysqld --initialize --user=mysql --datadir /usr/local/mysql/data

#A temporary password is generated for root@localhost: 8<SdQftla/qj
#這里會在屏幕上顯示臨時密碼

如果沒有把data目錄里的文件刪除,重新初始化

#如果報錯  :bin/mysqld:error while loading shared libraries:libaio.so.1.....No such file or directory

解決辦法:yum install -y libaio

 

#啟動mysql

cp mysql.server /etc/init.d/
rm -rf /etc/my.cnf   #很有可能你的服務器安裝過mariadb

/etc/init.d/mysql.server start
Starting MySQL.Logging to '/usr/local/mysql/data/mysql.err'.
 SUCCESS! 

#查看進程會有兩個

ps -ef|grep mysql
root       8456      1  0 15:12 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid
mysql      8541   8456  4 15:12 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=mysql.err --pid-file=/usr/local/mysql/data/mysql.pid
root       8586   8220  0 15:12 pts/0    00:00:00 grep --color=auto mysql

 

#連接mysql

mysql -uroot -p
-bash: mysql: 未找到命令

#配置環境變量

vi /root/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
source /root/.bash_profile 

mysql -uroot -p
輸入剛才的密碼:

#現在還不能輸入命令會報錯

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

#修改密碼

mysql> alter user user() identified by 'mysql';

 

#退出重新登錄

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

 

下面每一個都是單獨的!!!!!!

==============只移動data目錄===================

#創建存儲數據目錄,將mysql的數據目錄data拷貝至此

mkdir /data/mysql -p
cd /data/mysql
/etc/init.d/mysql.server stop
mv /usr/local/mysql/data .

#修改配置文件並重啟

vi /etc/my.cnf

[mysqld]
datadir=/data/mysql/data

/etc/init.d/mysql.server start

 

================移動mysql整個目錄===================

 

#將整mysql目錄移動到/data/mysql/下面

/etc/init.d/mysql.server stop
mv
/usr/local/mysql /data/mysql/ vim /etc/my.cnf [mysqld] basedir=/data/mysql/mysql datadir=/data/mysql/mysql/data /etc/init.d/mysql.server start

 

 

==============初始化到指定目錄===================

bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data &

#指定配置文件
vim /etc/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/mysql/data

#修改環境變量
vim /root/.base_profile
PATH=$PATH:$HOME/bin:/data/mysql/bin

source .base_profile

#啟動
/etc/init.d/mysql.server start

mysql -uroot -p
輸入密碼

alter user user() identified by 'mysql';
exit

 

 

=================一台機器跑多個mysql=============

cd /data
cp mysql mysql2 -R

#修改配置文件
vim /etc/my3307.cnf
[mysqld]
basedir=/data/mysql2
datadir=/data/mysql2/data
port=3307
socket=/tmp/mysql3307.sock       
mysqlx_port=33070                 #8.0開始會啟動兩個端口3306 33060
mysqlx_socket=/tmp/mysqlx33070.sock  #同理
chown mysql.mysql /data/mysql2/data -R

#啟動
/data/mysql2/bin/mysqld --defaults-file=/etc/my3307.cnf --user=mysql &


#檢查
ps -ef|grep mysql

netstat -lntup|grep 3307
netstat -lntup|grep 33070

#登陸
mysql -uroot -p -S /tmp/mysql3307.sock

 

======================MySQL啟動相關參數=====================

basedir = /usr/local/mysql    代表mysql安裝路徑

datadir=/usr/local/mysql/data   mysql的數據文件路徑

port=3306     mysql的監聽端口

log-error=/usr/local/mysql/data/主機名.error  記錄mysql啟動日志和運行錯誤日志

bind-address(默認是*)        接收所有來自IPV4,ipv6主機網卡tcp/ip連接    0.0.0.0 表示接收IPV4

character-set-server(默認是latin1)    指定mysql的字符集

collation-server(默認是latin1)     指定mysql的排序規則

default-storage-engine(默認是innodb)   指定mysql默認存儲引擎

default-time-zone    指定默認時區,如果沒有指定和系統默認一致

open-files-limit(默認5000)   指定mysql運行過程中可以打開的文件數,避免出現"Too many open file" 報錯

pid-file=/usr/local/mysql/data/xxx.pid   指定mysqld進程對應的程序ID文件,默認在數據文件目錄中

Skip-grant-tables  指定避開mysql內部權限表啟動服務(一般用來忘記密碼使用)

Tmpdir  指定臨時表文件存放路徑

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM