數據是指對客觀事件進行記錄並能夠鑑別的符號,是對客觀事物的性質、狀態以及相互關係等進行記載的物理符號或這些物理符號的組合。它是可識別的、抽象的符號。php
優勢:mysql
強大的查詢功能c++
強一致性redis
二級索引sql
RDBMS:Oracle、MySQL、mssql(SQL Server)、PG(postgresql)mongodb
適用場景:數據安全性要求較高的應用場景數據庫
優勢:安全
靈活模式app
擴展性ide
性能
NoSQL:redis、mongodb、memcache、Hbase、neo4j
適用場景:針對性能要求較高,數據安全性要求不是過高的場景,通常是配合RDBMS使用的產品
一、 rpm或yum安裝:安裝方便、安裝速度快、沒法定製
二、 二進制:不須要安裝,解壓便可使用,不能定製功能
三、 編譯安裝:可定製,安裝速度慢 (5.5版本以前:./configure make make install | 5.5以後:cmake gmake)
系統版本:Linux Centos-6.9 2.6.32-696.23.1.el6.x86_64
MySQL軟件版本:5.6.38
IP地址與主機名:10.0.0.51 db01
https://downloads.mysql.com/archives/community/ #官網下載
(1) 安裝依賴包:
yum install -y ncurses-devel libaio-devel gcc-c++ gcc ncurses-devel freeglut-devel
(2) 安裝cmake
yum install -y cmake
(3) 建立mysql用戶,用來管理mysql
useradd -s /sbin/nologin -M mysql
(4) 解壓軟件包
tar xf mysql-5.6.38.tar.gz
(5) 開始編譯安裝
cd mysql-5.6.38 #<====進入解壓後的目錄
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \
-DMYSQL_DATADIR=/application/mysql-5.6.38/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
make && make install #<======編譯安裝
#===================================
Cmake 作了什麼?
一、作了些預配置
二、影響了編譯後的程序(編譯過程會將cmake指定的配置信息硬編碼到程序文件中)
mysqld
mysql
mysql_install_db
mysqldump
mysqladmin
mysqld_safe
等。
#=====================================
ln -s /application/mysql-5.6.38/ /application/mysql #<====建立安裝目錄的軟連接
cp support-files/my*.cnf /etc/my.cnf #<===複製my.conf到etc目錄下
#==================
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql #<=====初始化數據庫
#==================
chown -R mysql.mysql /application/mysql/ #<====修改軟件路徑歸屬
cp support-files/mysql.server /etc/init.d/mysqld #<===拷貝啓動腳本到Sys-v模式目錄
chmod 700 /etc/init.d/mysqld
/etc/init.d/mysqld start #<======啓動數據庫
netstat -lntup|grep 3306 #<======檢查服務端口號
echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile #<=====添加環境變量
source /etc/profile
mysql #【回車】#啓動mysql數據庫,首次啓動沒有密碼
++++++++++++++++++++++++++++++拓展部分+++++++++++++++++++++++++++++++++++++
1.例如你的 root用戶如今沒有密碼,你但願的密碼修改成123456,那麼命令是:
mysqladmin -u root password 123456
2.若是你的root如今有密碼了(123456),那麼修改密碼爲abcdef的命令是:
mysqladmin -u root -p password abcdef
注意,命令回車後會問你舊密碼,輸入舊密碼123456以後命令完成,密碼修改爲功。
3.若是你的root如今有密碼了(123456),那麼修改密碼爲abcdef的命令是:
mysqladmin -u root -p123456 password abcdef (注意-p 不要和後面的密碼分
開寫,要寫在一塊兒,否則會出錯,錯誤以下所示)
4.使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,
不過別忘了使用PASSWORD函數。
忘記密碼:
下面咱們提供了6種不一樣的修改mysql root用戶的密碼,與增長mysql用戶的方法。
方法一
使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,
不過別忘了使用PASSWORD函數。
方法二
使用mysqladmin,這是前面聲明的一個特例。
mysqladmin -u root -p password mypasswd
輸入這個命令後,須要輸入root的原密碼,而後root的密碼將改成mypasswd。
把命令裏的root改成你的用戶名,你就能夠改你本身的密碼了。
固然若是你的mysqladmin鏈接不上mysql server,或者你沒有辦法執行mysqladmin,
那麼這種方法就是無效的。
並且mysqladmin沒法把密碼清空。
下面的方法都在mysql提示符下使用,且必須有mysql的root權限:
方法三
mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
確切地說這是在增長一個用戶,用戶名爲jeffrey,密碼爲biscuit。
在《mysql中文參考手冊》裏有這個例子,因此我也就寫出來了。
注意要使用PASSWORD函數,而後還要使用FLUSH PRIVILEGES。
方法四
和方法三同樣,只是使用了REPLACE語句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
方法五
使用SET PASSWORD語句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
擬也必須使用PASSWORD()函數,
可是不須要使用FLUSH PRIVILEGES。
方法六
使用GRANT ... IDENTIFIED BY語句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
這裏PASSWORD()函數是沒必要要的,也不須要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的一樣方法施行口令加密。
MySQL 忘記口令的解決辦法
若是 MySQL 正在運行,首先殺之: killall -TERM mysqld。
啓動 MySQL :bin/safe_mysqld --skip-grant-tables &
就能夠不須要密碼就進入 MySQL 了。
而後就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
從新殺 MySQL ,用正常方法啓動 MySQL 。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++