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 指定臨時表文件存放路徑