MySQL 數據庫服務

1、什麼是關係型數據庫。
a、二維表格
b、mysql和oracle數據庫,互聯網運維最常用的是mysql。
c、通過SQL結構化查詢語句存取數據。
d、保持數據一致性方面很強。ACID理論。
特點:讀寫更多的是和磁盤打交道,數據一致性,安全
缺點:速度慢。
2、NOSQL非關係型數據庫小結:
a、NOSQL不是否定關係數據庫,而是作爲關係數據庫的一個重要補充。
b、NOSQL爲了高性能。高併發而生的。
c、NOSQL典型產品memcached(純內存),redis(持久性緩存),mongodb(文檔數據庫)
3、linux下軟件的安裝方式:
1)、yum/rpm 安裝;簡單、快,但是無法定製。
2)、編譯安裝;./configure;make;make install 複雜,速度慢,可定製。
針對mysql,第一條產品線的編譯方式5.0--5.1
mysql 5.5以上(mysql-5.5.32.tar.gz)編譯安裝,./cmake ;gmake;gmake install
3)、二進制包安裝**
解壓就能用(綠色軟件,無需安裝) 簡單,快,不好定製。
安裝mysql選:二進制包 mysql-5.5.32-linux2.6-x86_64.tar.gz
4)源碼軟件結合 /yum/rpm來安裝。把源碼軟件製作成符合要求的rpm 包,放到yum倉庫裏,然後通過yum來安裝。特點:安裝快速,可定製。**
4、安裝mysql步驟:
a、添加mysql用戶
useradd mysql -s /sbin/nologin -M
b、下載解壓軟件

    [root@lnmp02 ~]# cd /home/oldboy/tools/
    [root@lnmp02 tools]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz
    [root@lnmp02 tools]# mv mysql-5.5.32-linux2.6-x86_64 /application/mysql-5.5.32  #移到/application下
    [root@lnmp02 tools]# ln -s /application/mysql-5.5.32/ /application/mysql

c、初始化數據庫
[root@lnmp02 tools]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
d、授權mysql管理數據庫文件
chown -R mysql.mysql /application/mysql/
e、生成mysql配置文件
[root@lnmp02 mysql]# cp /application/mysql/support-files/my-small.cnf /etc/my.cnf
5、配置啓動mysql

  [root@lnmp02 mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe                                              #改變mysql目錄
  [root@lnmp02 mysql]# /application/mysql/bin/mysqld_safe &    #啓動mysql服務

6、配置傳統方式啓動mysql

  a、[root@lnmp02 mysql]# cp support-files/mysql.server /etc/init.d/mysqld  #將mysql的配置文件複製到/etc/init.d目錄下。
  b、[root@lnmp02 mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld  #改變mysql的目錄。
  c、[root@lnmp02 mysql]# chmod +x /etc/init.d/mysqld    #增加執行權限
  d、[root@lnmp02 mysql]# /etc/init.d/mysqld start
  e、[root@lnmp02 mysql]# chkconfig mysqld on  #加入開機自啓動
  f、 cp /application/mysql/bin/* /usr/local/sbin/  #將mysql啓動命令拷貝到bash裏。

7、mysql設置密碼和登錄及更改密碼
設置密碼:mysqladmin -uroot password "123456"
登錄mysql:mysql -uroot -p123456
更改密碼:mysqladmin -uroot -p123456 password "oldboy"
8、mysql簡單安全優化
登錄到mysql下:查看庫 show databases;
刪除不用的庫 drop database test;
查看用戶和主機 select user,host from mysql.user; 用戶和主機共同標識一個用戶。
刪除無用用戶 drop user 'root'@'lnmp02';
mysql> drop user ''@'lnmp02';
mysql> drop user ''@'localhost';
mysql> drop user 'root'@'::1';
如果遇到主機是大寫或特殊字符:
delete from mysql.user where user="root" and host="A"
刪除之後執行:flush privileges;刷新權限

9、mysql簡單命令
查看幫助:help 例 help show databases;
查所有的庫:show databases; ========>ls
切庫:user mysql; ========>cd
查表:show tables;
查看用戶列表:select user,host from mysql.user;
查看當前用戶:select user(); ========>whoami
查看當前所在庫:select database(); =========>pwd
刪除數據庫:drop database 庫名;
刪除用戶:drop user ’用戶‘@’主機‘;
10、查看mysql錯誤日誌
ll /application/mysql/data/mysql-server.err
11、將LNMP裏的mysql數據分離到單獨的mysql裏。
mysqldump是最常用的備份工具:(選擇邏輯備份,安全)
1)、邏輯備份:原理是將數據庫的數據以邏輯的SQL語句的方式導出。
2)、物理備份:scp /application/mysql/data/ 把整個目錄打包拷貝到獨立的數據庫就可以。(缺點:容易丟數據)
xtrabackup是開源的物理備份工具。
首先將lnmp裏的數據庫數據備份起來壓縮。

[root@lnmp02 ~]# mysqldump -uroot -p123456 -B -x wordpress|gzip>/opt/bak_wordpress_$(date +%F).sql.gz
[root@lnmp02 ~]# ll /opt/
總用量 188
-rw-r--r--  1 root root 187680 12月 28 13:16 bak_wordpress_2017-12-28.sql.gz
drwxr-xr-x. 2 root root   4096 3月  26 2015 rh

mysqldump的參數:-A 備份數據庫
-B 備份多個庫,並添加 use 庫名;create databases庫等的備份。
-x 鎖表,備份期間會影響讀寫,儘量晚上執行。
|gzip 壓縮效率高。
sql.gz 表示sql語句數據,.gz是壓縮包。
然後在獨立mysql的服務器上讓數據庫恢復:

[root@mysql-server ~]# cd /opt/
[root@mysql-server opt]# ll
總用量 188
-rw-r--r--  1 root root 187681 12月 28 2017 bak_wordpress_2017-12-28.sql.gz
drwxr-xr-x. 2 root root   4096 3月  26 2015 rh
[root@mysql-server opt]# gzip -d bak_wordpress_2017-12-28.sql.gz     #解壓之後會刪除原文件。
[root@mysql-server opt]# ll
總用量 800
-rw-r--r--  1 root root 812373 12月 28 2017 bak_wordpress_2017-12-28.sql
drwxr-xr-x. 2 root root   4096 3月  26 2015 rh
[root@mysql-server opt]# mysql -uroot -p123456 <bak_wordpress_2017-12-28.sql
mysql> grant select,insert,update,delete on wordpress.* to wordpress@'192.168.153.%' identified by '123456';                                                #給wordpress這個用戶授權。
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from mysql.user;
+-----------+---------------+
| user      | host          |
+-----------+---------------+
| root      | 127.0.0.1     |
| wordpress | 192.168.153.% |         #對應的用戶在lnmp服務器上 /application/nginx/html/blog/wp-config.php裏面更改,然後解析在/etc/hosts解析。 

MySQL 數據庫服務
MySQL 數據庫服務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章