日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Linux中的mysql.redis

發布時間:2024/4/15 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux中的mysql.redis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,Linux上的mysql

?

MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可。 開發這個分支的原因之一是:甲骨文公司收購了MySQL后,有將MySQL閉源的潛在風險,因此社區采用分支的方式來避開這個風險。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。

?

2,安裝mariadb,在centos7底下

  • 第一種在阿里云的yum源去下載,(可能版本低,且軟件不全,可能找不到)
    • yum install mariadb-serve
  • 第二種是,通過mariadb官方的yum源去下載(一定是在這個軟件最正確的yum源,且包都是最新的)
    • yum install MariaDB-server MariaDB-client
  • 下載mariadb,通過阿里云的源
    • yum install Mariadb-server
  • 通過yum安裝的軟件
    • systemctl start/stop/restart/status mariadb
    • 啟動mariadb數據庫
    • systemctl start mariadb
  • 初識化mariadb
    • mysql_secure_installation ? # 直接輸入這個命令,設置root密碼,刪除匿名用戶
  • 配置myariadb遠程登錄,可以通過Windows,pycharm等客戶端進行連接,在遠程登錄的話就必須輸入剛才設置的root密碼
    • grant all privileges on *.* to?root@'%' identified?by "0923";
    • 授權所有的權限在所有的庫,所有的表用戶@"所有的地址" identify by"密碼";
  • 刷新授權表,使得權限立即生效
    • flush privilege;
  • 更改mysql密碼
    • set password = PASSWORD("0923")
  • 創建普通用戶xuexue
    • create user xuexue@'%'identify by "0923"
  • 查詢用戶信息
    • select host,user,password from user
  • 授權信息表
    • grant 權限 on 數據庫.表名 to 賬戶@主機名??????????? 對特定數據庫中的特定表授權
    • grant 權限 on 數據庫.* to 賬戶@主機名???????????   對特定數據庫中的所有表給與授權
    • grant 權限1,權限2,權限3 on *.* to 賬戶@主機名??    對所有庫中的所有表給與多個授權
    • grant all privileges on *.* to 賬戶@主機名??    對所有庫和所有表授權所有權限
    • grant create,select,insert on *.* to root@'%' identified by "密碼"
  • 數據庫的中文設置
  • 查看數據庫的編碼?
    • \s
  • 修改mysql的配置文件/etc/my.conf, 加入以下信息
  • [mysqld]character-set-server=utf8collation-server=utf8_general_cilog-error=/var/log/mysqld.log[client]default-character-set=utf8[mysql]default-character-set=utf8

    ?

  • 修改配置文件,重啟服務
    • systemctl restart mariadb
  • 查看數據庫創建編碼,只有在更新了數據庫編碼之后,創建的數據庫,才會使用這個編碼
    • show create?restart xueren
  • 可以測試創建 table,寫入中文數據
  • mysql的數據備份
  • 通過命令導出全部數據
    • mysqldump -uroot -p --all-databases > /data/db.dump
  • 導入數據庫的db文件,在mysql命令行中輸入這個命令
  • source /opt/db.dump? # 這一步是輸入的sql語句,在mysql中輸入,導入數據
  • 第二種方式導入數據,通過mysql命令
    • mysql -uroot -p < /opt/db.dump
  • 3,主從復制

    主庫的操作

  • 開啟binlog功能,修改/etc/my.cnf
    • vim /etc/my.cnf
    • [mysqld]
    • server-id=1? 3 指明主庫的身份id為1
    • log-bin=mysqlsxuexue-bin
  • 修改配置文件,重啟mariadb,使得binlog生效
    • systemctl restart mariadb
  • 登錄mysql,檢查主庫 的狀態
    • show master status;
  • 創建一個用戶,用于進行主從同步
    • create user "xuexue"@'%'identified by "xuexue0923";
  • 授予賬號權限,授予一個從庫的身份權限
    • grant replication slave on *.* to"xuexue"@'%';
  • 鎖定mysql表,防止數據寫入
    • flush table with read lock
  • 主從同步,將從庫與主庫的數據保持一致后,然后解除鎖表,一同寫入,保證數據的一致性
    • 導出當前的數據用于slave機器導入數據,保證數據的一致性
      • mysqldump -uroot -p --all-databases > /data/db.dump
    • 將此db.dump文件遠程傳輸給slave機器,用于導入
      • scp/data/db.dump root@從庫的ip地址(列如:192.168.12.87:/tmp/)
    • 登錄slave從庫,導入主庫的數據信息
      • source /tmp/db.dump(從庫的數據庫操作)
  • 查看主庫的狀態信息,binlog信息
    • show master status;
  • 解鎖表,等待從庫的配置
    • unlock tables;
  • 從庫的設置:

  • 在etc/my.cnf當中打開server-id設置一個和主庫不一樣的值
    • vim /etc/my.cnf
  • 重啟myariadb
    • systemctl restart mariadb
  • 查看slave的身份信息
    • show variables like 'server_id';
    • show variables like 'log_bin';
  • 通過命令,開啟主從同步技術
    • change master to master_host=從機ip('192.168.12.96'), master_user='xuexue', master_password='xuexue0923', master_log_file='mysqlxuexue-bin.000001', master_log_pos=231;

      ?

  • 開啟slave
    • start slave
  • 檢查slave狀態,檢查兩條參數,都是yes,主從ok
    • show slave status\G;
    • Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
  • 此時連接成功
  • ?

    轉載于:https://www.cnblogs.com/ljc-0923/p/10265317.html

    總結

    以上是生活随笔為你收集整理的Linux中的mysql.redis的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。