1. 程式人生 > >12.29 linux3 mysql和redis

12.29 linux3 mysql和redis

今日內容

https://www.cnblogs.com/pyyu/p/9467289.html mysql部落格

mysql (分支 mariadb)
1.安裝mariadb
-yum
-原始碼編譯安裝
-下載rpm安裝
yum和原始碼編譯安裝的區別?
1.路徑區別-yum安裝的軟體是他自定義的,原始碼安裝的軟體./configure --preifx=軟體安裝的絕對路徑
2.yum倉庫的軟體,版本可能比較低,而原始碼編譯安裝,版本可控
3.編譯安裝的軟體,支援第三方功能擴充套件./configure 這裡可以加上很多引數,定製功能

yum倉庫的區別
    1.阿里雲的yum倉庫
    2.假設mysql官網,也會提供rpm包,原始碼包,以及yum源,供給下載
    

2.配置mariadb的官方yum源,用於自動下載mariadb的rpm軟體包,自動安裝

注意點:阿里雲提供的yum倉庫,和epel源倉庫,它也有mariadb,但是版本可能會很低

這個是yum預設的mariadb的版本資訊
mariadb                     x86_64                     1:5.5.60-1.el7_5                      base                     8.9 M


那我們就得選用mariadb的官方yum源,

3.配置官方的mariadb的yum源,手動建立 mariadb.repo倉庫檔案 (此步重要!!!!!!!!!!!)
touch /etc/yum.repos.d/mariadb.repo
然後寫入如下內容
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

4.通過yum安裝mariadb軟體,安裝mariadb服務端和客戶端 (由於是國外映象源,因此下載速度可能很慢)
yum install MariaDB-server MariaDB-client -y

5.如果下載速度太慢,請刪除 mariadb.repo,只是為了使用阿里雲的yum源中的mariadb
rm -rf /etc/yum.repos.d/Mariadb.repo
然後清空yum 快取
yum clean all

6.使用阿里雲的yum下載 mariadb (阿里雲的mariadb包名是小寫的,而官方的是大寫的!!!!注意的)
yum install mariadb-server mariadb -y

7.安裝完成後,啟動mariadb服務端
systemctl start/stop/restart/status mariadb
systemctl enable mariadb 開機啟動mariadb

8.mysql初始化
mysql_secure_installation 這條命令可以初始化mysql,刪除匿名使用者,設定root密碼等等....

9.設定mysql的中文編碼支援,修改/etc/my.cnf
1.
vi /etc/my.cnf
在[mysqld]中新增引數,使得mariadb服務端支援中文
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
2.重啟mariadb服務,讀取my.cnf新配置
systemctl restart mariadb
3.登入資料庫,檢視字元編碼
mysql -uroot -p

    輸入 \s  檢視編碼 
    

10.mysql常用命令
desc 查看錶結構
create database 資料庫名
create table 表名
show create database 庫名 檢視如何建立db的
show create table 表名; 檢視如何建立table結構的

    #修改mysql的密碼
    set password = PASSWORD('redhat');
    
    #建立mysql的普通使用者,預設許可權非常低
    create user [email protected]'%' identified by 'yiningzhenshuai';
    
    #查詢mysql資料庫中的使用者資訊
    use mysql;
    select host,user,password  from user;

11.給使用者新增許可權命令
grant all privileges on . to 賬戶@主機名    對所有庫和所有表授權所有許可權

grant all privileges on . to [email protected]'%'; 給yining使用者授予所有許可權

flush privileges; 重新整理授權表

12.授予遠端登入的許可權命令 (root不能遠端登入的問題??)
grant all privileges on . to [email protected]'%'; 給yining使用者授予所有許可權

grant all privileges on . to [email protected]'%' identified by 'redhat'; #給與root許可權授予遠端登入的命令

此時可以在windows登入linux的資料庫

mysql -uyining -p -h 伺服器的地址 連線伺服器的mysql

13.學習mysql的資料備份與恢復

1.mysqldump -u root -p --all-databases > /data/AllMysql.dump 匯出當前資料庫的所有db,到一個檔案中
2.登入mysql 匯入資料
mysql -u root -p
> source /data/AllMysql.dump

3.通過命令匯入資料
mysql -uroot -p < /data/AllMysql.dump #在登入時候,匯入資料檔案,一樣可以寫入資料

配置檔案的格式
.conf
.cnf
.ini
.yml

mysql的主從複製架構,需要準備兩臺機器,並且可以通訊,安裝好2個mysql,保持版本一致性
mysql -v 檢視資料庫版本

1.準備主庫的配置檔案 /etc/my.cnf
寫入開啟主庫的引數
[mysqld]
server-id=1 #標註 主庫的身份id
log-bin=s15mysql-bin #那個binlog的檔名

2.重啟mairadb,讀取配置檔案
systemctl restart mariadb

3.檢視主庫的狀態
mysql -uroot -p

show master status;  #這個命令可以檢視 日誌檔案的名字,以及資料起始點 

4.建立用於主從資料同步的賬戶
create user 'yuanhao'@'%' identified by 'yuanhaobuxitou';

5.授予主從同步賬號的,複製資料的許可權
grant replication slave on . to 'yuanhao'@'%';

6.進行資料庫的鎖表,防止資料寫入

flush table with read lock;

7.將資料匯出
mysqldump -u root -p --all-databases > /opt/zhucong.dump

8.然後將主庫的資料,傳送給從庫
scp /opt/zhucong.dump [email protected]從庫:/opt/

9.此時去從庫的mysql上,登入,匯入主庫的資料,保持資料一致性
mysql -uroot -p
source /opt/zhucong.dump

從庫的配置
1.寫入my.cnf,從庫的身份資訊
vi /etc/my.cnf
[mysqld]
server-id=10

2.檢查一下主庫和從庫的 引數資訊

show variables like 'server_id';
show variables like 'log_bin';

3.通過一條命令,開啟主從同步
change master to master_host='192.168.13.78',
master_user='yuanhao',
master_password='yuanhaobuxitou',
master_log_file='s15mysql-bin.000001',
master_log_pos=571;

4.開啟從庫的slave同步
start slave;

5.檢視主從同步的狀態
show slave status\G;

6.檢視兩條引數 ,確保主從正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

redis
1.在linux安裝redis
通過原始碼編譯安裝redis
1.下載原始碼包
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
2.解壓縮redis
tar -zxf redis-4.0.10.tar.gz
3.進入redis原始碼,直接可以編譯且安裝
make && make install

4.可以指定配置檔案啟動redis
vim /opt/redis-4.0.10/redis.conf

1.更改bind引數,讓redis可以遠端訪問
    bind 0.0.0.0
2.更改redis的預設埠
    port 6380
3.使用redis的密碼進行登入
    requirepass 登入redis的密碼
4.指定配置檔案啟動
    redis-server redis.conf 
    

5.通過新的埠和密碼登入redis
redis-cli -p 6380
登入後
auth 密碼

redis還支援互動式的引數,登入資料庫
redis-cli -p 6380 -a redis的密碼 (這個不太安全)

6.通過登入redis,用命令檢視redis的密碼
config set requirepass 新的密碼 #設定新密碼
config get requirepass #獲取當前的密碼

過濾出檔案的空白行和註釋行
grep -v "^#" redis.conf | grep -v "^$"