MySQL 管理
0 安裝MySQL
DNF是linux系統的另一個軟體安裝解決方案,相對於yum,對於依賴有更好,更高效的解決方案。對於開發者來說,也更加友好,而且對於Python也有更好的支援;redhat8已經預設有DNF,只需要修改源就可以直接使用
1、Yum沒有API文件。這意味著開發者需要做更多的工作。Yum開發者寫一個呼叫函式都需要檢視Yum的程式碼庫,使開發變得緩慢。
2、Python3。Fedora將會過渡到Python3,但Yum卻沒有這個能力,而DNF既可以使用Python2,也可以在Python3環境下執行。
3、依賴解決能力長期是Fedora軟體包管理的阿喀硫斯之踵。DNF使用基於SAT的依賴問題解決方法,與SUSE和OpenSUSE的Zypper類似。
#下載原始檔
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
#配置DNF,耗時比較久.一般非必須
sudo dnf update
配置好源後,記得檢視一下.
- rpm安裝MySQL
## 檢視有沒有安裝MySQL
rpm -qa | grep -i mysql
find / -name mysql
## 刪除存在的MySQL檔案
rm -rf 查出的檔案1 檔案2
- 去官網下載相應的rpm包:https://dev.mysql.com/downloads/mysql/
- 上傳到/usr/local/src資料夾,進行安裝mysql
按照以下順序進行安裝,因為它們之間存在依賴關係
common --> libs --> clients --> server
遇到了需要安裝下面2個依賴的問題
dnf install ncurses-compat-libs
dnf install perl-Getopt-Long
- 設定密碼
檢視初始密碼 grep -i password /var/log/mysqld.log
修改密碼 sudo mysql_secure_installation - 錯過第4步,可以
flush privileges; //重新整理系統許可權表
ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘你的密碼’;
出錯時嘗試Linux 通過RPM包安裝 MySQL 8.0第2條 - mysql 解決密碼強度的問題 Your password does not satisfy the current policy requirements
set global validate_password_policy=LOW; - 跳過授權
vi /etc/my.cnf
在[mysqld]下面新增跳過授權命令
skip-grant-tables
重啟服務
service mysqld restart
1. 主從複製
MySQL主從複製實現,主從、主主、主從從
MySQL主從複製原理、半同步操作步驟及原理
- 修改主伺服器master:
#vi /etc/my.cnf[mysqld] # 日誌檔案格式 binlog-format=ROW # [必須]啟用二進位制日誌. 名字為mysql-bin log-bin=mysql-bin #[必須]伺服器唯一ID,預設是1,一般取IP最後一段 server-id=222 # 要實現主從複製的資料庫,這裡是ddm binlog-do_db=ddm ```
在主伺服器上建立帳戶並授權slave:
mysql> GRANT REPLICATION SLAVE ON . to ‘root’@’%’ identified by ‘mysql3306’; //一般不用root帳號,“%”表示所有客戶端都可能連,只要帳號,密碼正確,此處可用具體客戶端IP代替,如192.168.145.226,加強安全。192.168.145.% 授權給145段內所有使用者
2. 修改從伺服器slave:
#vi /etc/my.cnf
[mysqld]
#不是必須]啟用二進位制日誌
log-bin=mysql-bin
# 日誌檔案格式
binlog-format=ROW
#[必須]伺服器唯一ID,預設是1,一般取IP最後一段
server-id=226
# 雙主互相備份(表示從伺服器可能是另外一臺伺服器的主伺服器). 只作為從機可以不寫
log-slave-updates=true
- 重啟兩臺伺服器的mysql
service mysqld restart
或
systemctrl mysqld restart
或
/etc/init.d/mysql restart - 登入主伺服器的mysql,查詢master的狀態
mysql> show master status;
±-----------------±---------±-------------±-----------------±------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
±-----------------±---------±-------------±-----------------±------------------+
| mysql-bin.000001 | 154 | ddm | | |
±-----------------±---------±-------------±-----------------±------------------+
1 row in set (0.00 sec)
注:執行完此步驟後不要再操作主伺服器MYSQL,防止主伺服器狀態值變化
File: 日誌檔名
Position: 檔名所處的位置(偏移量)
Binlog_Do_DB: 要實現主從複製的資料庫
- 配置從伺服器Slave:
mysql>change master to master_host=‘192.168.15.1’,master_port=3306,master_user=‘root’,master_password=‘mysql3306’,master_log_file=‘mysql-bin.000001’,master_log_pos=154; //注意不要斷開,308數字前後無單引號。
Mysql>start slave; //啟動從伺服器複製功能
- Navicat 連線不上問題
1. 防火牆問題 2. 埠未開放 3. 未授權 firewall-cmd --zone=public --add-port=3306/tcp --permanent 2.重新載入防火牆 firewall-cmd --reload 2. 授權給客戶端 # with grant option 不僅僅授予修改的許可權,還授予許可權的許可權 grant all privileges on *.* to root@'%' identified by 'mysql3306' with grant option;
相關文章
- mysql undo管理MySql
- MySQL基本管理MySql
- MySQL日常管理MySql
- 【Mysql】MySQL管理工具MySQL UtilitiesMySql
- 【MySql】mysql表的常規管理MySql
- 【MySql】mysql 表的常規管理MySql
- Mysql 日誌管理MySql
- MySQL賬戶管理MySql
- MySQL——密碼管理MySql密碼
- MySQL資料管理MySql
- MYSQL密碼管理MySql密碼
- mysql日誌管理MySql
- mysql 管理維護MySql
- mysql binlog管理MySql
- Mysql管理與配置MySql
- MySQL 使用者管理MySql
- 管理mysql的檢視MySql
- MySQL連線數管理MySql
- MySQL InnoDB髒頁管理MySql
- MySQL記憶體管理MySql記憶體
- MySQL日誌管理,舊MySql
- MySQL管理表和索引MySql索引
- Mysql——許可權管理MySql
- [Mysql]——使用者管理MySql
- 使用mysqladmin管理mysqlMySql
- MySQL批量管理系統MySql
- MySQL使用者管理MySql
- Mysql 許可權管理MySql
- MySQL表分割槽管理MySql
- mysql管理之道筆記MySql筆記
- MySQL許可權管理MySql
- mysql 管理:mysql 執行許可權(轉)MySql
- MySQL 使用者管理與許可權管理MySql
- MySQL 多例項配置管理:MySql
- 開心檔之MySQL 管理MySql
- mysql修改管理員密碼MySql密碼
- MySQL資料庫管理4MySql資料庫
- MYSQL儲存過程管理MySql儲存過程