1. 程式人生 > 其它 >第二十二章 Centos7下二進位制安裝Mysql-5.7.34

第二十二章 Centos7下二進位制安裝Mysql-5.7.34

一、建立軟體存放目錄

(base) [root@mcmanager ~]# mkdir -p /data/software/
(base) [root@mcmanager ~]# cd /data/software/

二、下載軟體包

#1.下載軟體包
(base) [root@mcmanager software]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

#2.檢視軟體包
(base) [root@mcmanager software]# ll
total 5142828
-rw-r--r-- 1 root root   665389778 Mar 26 14:43 mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

三、安裝依賴

(base) [root@mcmanager software]# yum install -y ncurses-devel libaio-devel gcc gcc-c++ glibc cmake autoconf

四、解壓安裝包

(base) [root@mcmanager software]# tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

五、移動並重命名

(base) [root@mcmanager software]# mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.34
(base) [root@mcmanager software]# cd /usr/local/

六、做軟連線

(base) [root@mcmanager local]# ln -s /usr/local/mysql-5.7.34 /usr/local/mysql

(base) [root@mcmanager local]# ll
total 64
lrwxrwxrwx   1 root root   23 Sep 15 10:03 mysql -> /usr/local/mysql-5.7.34
drwxr-xr-x   9 root root 4096 Sep 15 09:53 mysql-5.7.34

七、建立資料庫使用者

(base) [root@mcmanager local]# useradd mysql -s /sbin/nologin -M

八、配置Mysql並建立相關目錄

1.配置mysql
(base) [root@mcmanager local]# vim /etc/my.cnf
[client]
# mysql預設密碼
#password=88888888

# mysql以socket方式執行的sock檔案位置
socket=/data/mysql-5.7.34/var/mysql/mysql.sock  
  
[mysqld_safe]  
# 程序pid檔案
pid-file=/data/mysql-5.7.34/var/mysql/mysqld.pid

# 錯誤日誌位置
log-error = /data/mysql-5.7.34/log/mysql-error.log  
  
[mysql]
# mysql以socket方式執行的sock檔案位置
socket=/data/mysql-5.7.34/var/mysql/mysql.sock  
  
[mysqld]
# mysql程式執行使用者
user = mysql

# mysql埠號
port =  3306 

# mysql的資料目錄
datadir = /data/mysql-5.7.34/var/mysql

# mysql以socket方式執行的sock檔案位置
socket=/data/mysql-5.7.34/var/mysql/mysql.sock  

# 是否支援符號連結,即資料庫或表可以儲存在my.cnf中指定datadir之外的分割槽或目錄,為0不開啟
symbolic-links=0

########basic settings########  
# mysql的伺服器分配id,在啟用主從和叢集的時候必須指定,每個節點必須不同
server-id = 11  

# mysql監聽的ip地址,如果是127.0.0.1,表示僅本機訪問
#bind_address = 10.166.224.32

# 資料修改是否自動提交,為0不自動提交
autocommit = 1

# 伺服器使用的字符集
character_set_server=utf8mb4

# 禁用DNS主機名查詢,啟用以後用內網地址向mysqlslap請求響應快了一半
skip_name_resolve = 1

# mysql最大連線數
max_connections = 800 

# 某臺host連線錯誤次數等於max_connect_errors(預設10) ,主機'host_name'再次嘗試時被遮蔽。可有效反的防止dos攻擊
max_connect_errors = 100

# 資料庫事務隔離級別
# 1.READ-UNCOMMITTED(讀取未提交內容)級別
# 2.READ-COMMITTED(讀取提交內容)
# 3.REPEATABLE-READ(可重讀)
# 4.SERIERLIZED(可序列化)
# 預設級別REPEATABLE-READ
transaction_isolation = READ-COMMITTED 

# mysql中TIMESTAMP型別和其他的型別有點不一樣(在沒有設定explicit_defaults_for_timestamp=1的情況下)
explicit_defaults_for_timestamp = 1 

# 當我們的join是ALL,index,rang或者Index_merge的時候使用的buffer。 實際上這種join被稱為FULL JOIN
join_buffer_size = 128M 

# 規定了內部記憶體臨時表的最大值,每個執行緒都要分配。(實際起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果記憶體臨時表超出了限制,MySQL就會自動地把它轉化為基於磁碟的MyISAM表,儲存在指定的tmpdir目錄下
tmp_table_size = 128M  

# 儲存臨時檔案的目錄
tmpdir = /dev/shm 

# mysql最大接受的資料包大小
max_allowed_packet = 16M

# sql_mode 模式,定義了你MySQL應該支援的sql語法,對資料的校驗等等,限制一些所謂的‘不合法’的操作
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"  

# 伺服器關閉互動式連線前等待活動的秒數。互動式客戶端定義為在mysql_real_connect()中使用CLIENT_INTERACTIVE選項的客戶端
interactive_timeout = 60  

# 伺服器關閉非互動連線之前等待活動的秒數,線上程啟動時,根據全域性wait_timeout值或全域性interactive_timeout值初始化會話wait_timeout值,取決於客戶端型別(由mysql_real_connect()的連線選項CLIENT_INTERACTIVE定義)
wait_timeout = 60  

# 讀入緩衝區的大小,將對錶進行順序掃描的請求將分配一個讀入緩衝區,MySQL會為它分配一段記憶體緩衝區
read_buffer_size = 16M  

# 隨機讀緩衝區大小,當按任意順序讀取行時(列如按照排序順序)將分配一個隨機讀取緩衝區,進行排序查詢時,MySQL會首先掃描一遍該緩衝,以避免磁碟搜尋,提高查詢速度
read_rnd_buffer_size = 32M  

# 是一個connection級引數,在每個connection第一次需要使用這個buffer的時候,一次性分配設定的記憶體
sort_buffer_size = 32M  

########log settings########
# mysql錯誤日誌位置
#log_error = /data/mysql-5.7.34/log/mysql-error.log 

# 是否開啟慢查詢日誌收集
slow_query_log = 1  

# 慢查詢日誌位置
slow_query_log_file = /data/mysql-5.7.34/log/mysql-slow.log 

# 是否記錄未使用索引的語句
log_queries_not_using_indexes = 1 

# 慢查詢也記錄那些慢的optimize table,analyze table和alter table語句
log_slow_admin_statements = 1  

# 記錄由Slave所產生的慢查詢
log_slow_slave_statements = 1

# 設定每分鐘記錄到日誌的未使用索引的語句數目,超過這個數目後只記錄語句數量和花費的總時間
log_throttle_queries_not_using_indexes = 10  

# 日誌自動過期清理天數
expire_logs_days = 90

# 設定記錄慢查詢超時時間
long_query_time = 1

# 查詢檢查返回少於該引數指定行的SQL不被記錄到慢查詢日誌
min_examined_row_limit = 100  

########replication settings########
# 從機儲存主節點資訊方式,設成file時 會生成master.info 和 relay-log.info2個檔案,設成table,資訊就會存在mysql.master_slave_info表中。不管是設定的哪種值,都不要移動或者編輯相關的檔案和表
#master_info_repository = TABLE 

# 用於儲存slave讀取relay log的位置資訊,可選值為“FILE”、“TABLE”,以便crash重啟後繼續恢復
#relay_log_info_repository = TABLE  

# binlog的儲存位置,不能指定確定的檔名如mysql-bin.log,只能指定位置和字首,會生成以字首為開頭的一系列檔案
log_bin = /data/mysql-5.7.34/log/mysql-bin 

# 這個引數是對於MySQL系統來說是至關重要的,他不僅影響到Binlog對MySQL所帶來的效能損耗,而且還影響到MySQL中資料的完整性。對於“sync_binlog”引數的各種設定的說明如下:
# sync_binlog=0,當事務提交之後,MySQL不做fsync之類的磁碟同步指令重新整理binlog_cache中的資訊到磁碟,而讓Filesystem自行決定什麼時候來做同步,或者cache滿了之後才同步到磁碟。
# sync_binlog=n,當每進行n次事務提交之後,MySQL將進行一次fsync之類的磁碟同步指令來將binlog_cache中的資料強制寫入磁碟。
# 在MySQL中系統預設的設定是sync_binlog=0,也就是不做任何強制性的磁碟重新整理指令,這時候的效能是最好的,但是風險也是最大的。因為一旦系統Crash,在binlog_cache中的所有binlog資訊都會被丟失。而當設定為“1”的時候,是最安全但是效能損耗最大的設定。因為當設定為1的時候,即使系統Crash,也最多丟失binlog_cache中未完成的一個事務,對實際資料沒有任何實質性影響。從以往經驗和相關測試來看,對於高併發事務的系統來說,“sync_binlog”設定為0和設定為1的系統寫入效能差距可能高達5倍甚至更多。
#sync_binlog = 4  

# 啟用gtid型別,否則就是普通的複製架構
gtid_mode = on 

# 強制GTID的一致性
enforce_gtid_consistency = 1 

# slave更新是否記入日誌,在做雙主架構時異常重要,影響到雙主架構是否能互相同步
#log_slave_updates  

# binlog日誌格式,可選值“MIXED”、“ROW”、“STATEMENT”,在5.6版本之前預設為“STATEMENT”,5.6之後預設為“MIXED”;因為“STATEMENT”方式在處理一些“不確定”性的方法時會造成資料不一致問題,我們建議使用“MIXED”或者“ROW”
binlog_format = row 

# 從機儲存同步中繼日誌的位置
#relay_log = /data/mysql-5.7.34/log/mysql-relay.log  

# 當slave從庫宕機後,假如relay-log損壞了,導致一部分中繼日誌沒有處理,則自動放棄所有未執行的relay-log,並且重新從master上獲取日誌,這樣就保證了relay-log的完整性
#relay_log_recovery = 1  

# 這個引數控制了當mysql啟動或重啟時,mysql在搜尋GTID時是如何迭代使用binlog檔案的。 這個選項設定為真,會提升mysql執行恢復的效能。因為這樣mysql-server啟動和binlog日誌清理更快
#binlog_gtid_simple_recovery = 1 

# 過指定error no型別的錯誤,設成all 跳過所有錯誤
#slave_skip_errors = ddl_exist_errors 

########innodb settings######## 
# nodb每個資料頁大小,這個引數在一開始初始化時就要加入my.cnf裡,如果已經建立了表,再修改,啟動MySQL會報錯
innodb_page_size = 16K 

# 快取innodb表的索引,資料,插入資料時的緩衝,專用mysql伺服器設定的大小: 作業系統記憶體的70%-80%最佳
innodb_buffer_pool_size = 4G 

# 可以開啟多個記憶體緩衝池,把需要緩衝的資料hash到不同的緩衝池中,這樣可以並行的記憶體讀寫
#innodb_buffer_pool_instances = 8  

# 預設為關閉OFF。如果開啟該引數,啟動MySQL服務時,MySQL將本地熱資料載入到InnoDB緩衝池中
#innodb_buffer_pool_load_at_startup = 1

# 預設為關閉OFF。如果開啟該引數,停止MySQL服務時,InnoDB將InnoDB緩衝池中的熱資料儲存到本地硬碟
#innodb_buffer_pool_dump_at_shutdown = 1  

# 根據 官方文件 描述,它會影響page cleaner執行緒每次刷髒頁的數量, 這是一個每1秒 loop一次的執行緒
#innodb_lru_scan_depth = 2000  

# 事務等待獲取資源等待的最長時間,超過這個時間還未分配到資源則會返回應用失敗;引數的時間單位是秒
innodb_lock_wait_timeout = 5 

# 這兩個設定會影響InnoDB每秒在後臺執行多少操作. 大多數寫IO(除了寫InnoDB日誌)是後臺操作的. 如果你深度瞭解硬體效能(如每秒可以執行多少次IO操作),則使用這些功能是很可取的,而不是讓它閒著
#innodb_io_capacity = 4000  
#innodb_io_capacity_max = 8000 

# 預設值為 fdatasync. 如果使用 硬體RAID磁碟控制器, 可能需要設定為 O_DIRECT. 這在讀取InnoDB緩衝池時可防止“雙緩衝(double buffering)”效應,否則會在檔案系統快取與InnoDB快取間形成2個副本(copy). 如果不使用硬體RAID控制器,或者使用SAN儲存時, O_DIRECT 可能會導致效能下降
#innodb_flush_method = O_DIRECT  

# innodb重做日誌儲存目錄
#innodb_log_group_home_dir = /data/local/mysql-5.7.34/log/redolog/  

# innodb回滾日誌儲存目錄
#innodb_undo_directory = /data/local/mysql-5.7.34/log/undolog/

# undo回滾段的數量, 至少大於等於35,預設128
#innodb_undo_logs = 128  

# 用於設定建立的undo表空間的個數,在mysql_install_db時初始化後,就再也不能被改動了;預設值為0,表示不獨立設定undo的tablespace,預設記錄到ibdata中;否則,則在undo目錄下建立這麼多個undo檔案,例如假定設定該值為4,那麼就會建立命名為undo001~undo004的undo tablespace檔案,每個檔案的預設大小為10M。修改該值會導致Innodb無法完成初始化,資料庫無法啟動,但是另兩個引數可以修改
#innodb_undo_tablespaces = 0  

# InnoDB儲存引擎在重新整理一個髒頁時,會檢測該頁所在區(extent)的所有頁,如果是髒頁,那麼一起重新整理。這樣做的好處是通過AIO可以將多個IO寫操作合併為一個IO操作。對於傳統機械硬碟建議使用,而對於固態硬碟可以關閉。
#innodb_flush_neighbors = 1 

# 這個值定義了日誌檔案的大小,innodb日誌檔案的作用是用來儲存redo日誌。一個事務對於資料或索引的修改往往對應到表空間中的隨機的位置,因此當重新整理這些修改到磁碟中就會引起隨機的I/O,而隨機的I/O往往比順序的I/O更加昂貴的開銷,因為隨機的I/O需要更多的開銷來定位到指定的位置。innodb使用日誌來將隨機的I/O轉為順序的I/O,只要日誌檔案是安全的,那麼事務就是永久的,儘管這些改變還沒有寫到資料檔案中,如果出現了當機或伺服器斷電的情況,那麼innodb也可以通過日誌檔案來恢復以及提交的事務。但是日誌檔案是有一定的大小的,所以必須要把日誌檔案記錄的改變寫到資料檔案中,innodb對於日誌檔案的操作是迴圈的,即當日志文件寫滿後,會將指標重新移動到檔案開始的地方重新寫,但是它不會覆蓋那些還沒有寫到資料檔案中的日誌,因為這是唯一記錄了事務持久化的記錄
# 如果對 Innodb 資料表有大量的寫入操作,那麼選擇合適的 innodb_log_file_size 值對提升MySQL效能很重要。然而設定太大了,就會增加恢復的時間,因此在MySQL崩潰或者突然斷電等情況會令MySQL伺服器花很長時間來恢復
#innodb_log_file_size = 4G 

# 事務在記憶體中的緩衝。 分配原 則:控制在2-8M.這個值不用太多的。他裡面的記憶體一般一秒鐘寫到磁碟一次
#innodb_log_buffer_size = 16M  

# 控制是否使用,使用幾個獨立purge執行緒(清除二進位制日誌)
#innodb_purge_threads = 4  

# mysql在5.6之前一直都是單列索引限制767,起因是256×3-1。這個3是字元最大佔用空間(utf8)。但是在5.6以後,開始支援4個位元組的uutf8。255×4>767, 於是增加了這個引數。這個引數預設值是OFF。當改為ON時,允許列索引最大達到3072
innodb_large_prefix = 1  

# InnoDB kernel併發最大的執行緒數。 1) 最少設定為(num_disks+num_cpus)*2。 2) 可以通過設定成1000來禁止這個限制
innodb_thread_concurrency = 64  

# 是否將死鎖相關資訊儲存到MySQL 錯誤日誌中
#innodb_print_all_deadlocks = 1  

# 開啟InnoDB嚴格檢查模式,尤其採用了頁資料壓縮功能後,最好是開啟該功能。開啟此功能後,當建立表(CREATE TABLE)、更改表(ALTER TABLE)和建立索引(CREATE INDEX)語句時,如果寫法有錯誤,不會有警告資訊,而是直接丟擲錯誤,這樣就可直接將問題扼殺在搖籃裡
#innodb_strict_mode = 1  

# ORDER BY 或者GROUP BY 操作的buffer快取大小
innodb_sort_buffer_size = 64M  

########semi sync replication settings########  
# 指定mysql的外掛目錄
#plugin_dir=/data/local/mysql-5.7.34/lib/plugin

# 指定載入哪些外掛
#plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"

# 控制主庫上是否開啟semisync
#loose_rpl_semi_sync_master_enabled = 1

# 控制備庫是否開啟semisync
#loose_rpl_semi_sync_slave_enabled = 1

# 單位毫秒,防止半同步複製在沒有收到確認的情況下,傳送堵塞。master在超時之前沒有收到確認,將恢復到非同步複製,繼續執行半同步沒有進行的操作
#loose_rpl_semi_sync_master_timeout = 5000

[mysqld-5.7]
# 表示轉儲每個bp instance LRU上最熱的page的百分比。通過設定該引數可以減少轉儲的page數
#innodb_buffer_pool_dump_pct = 40

#為了提升擴充套件性和刷髒效率,在5.7.4版本里引入了多個page cleaner執行緒。從而達到並行刷髒的效果.在該版本中,Page cleaner並未和buffer pool繫結,其模型為一個協調執行緒 + 多個工作執行緒,協調執行緒本身也是工作執行緒。因此如果innodb_page_cleaners設定為8,那麼就是一個協調執行緒,加7個工作執行緒
innodb_page_cleaners = 4

# 是否開啟線上回收(收縮)undo log日誌檔案,支援動態設定
#innodb_undo_log_truncate = 1

# 當超過這個閥值(預設是1G),會觸發truncate回收(收縮)動作,truncate後空間縮小到10M
#innodb_max_undo_log_size = 2G

# 控制回收(收縮)undo log的頻率。undo log空間在它的回滾段沒有得到釋放之前不會收縮, 想要增加釋放回滾區間的頻率,就得降低設定值
#innodb_purge_rseg_truncate_frequency = 128

# 這個引數控制了當mysql啟動或重啟時,mysql在搜尋GTIDs時是如何迭代使用binlog檔案的。 這個選項設定為真,會提升mysql執行恢復的效能。因為這樣mysql-server啟動和binlog日誌清理更快。該引數為真時,mysql-server只需開啟最老的和最新的這2個binlog檔案
#binlog_gtid_simple_recovery=1

# 在MySQL 5.7.2 新增了 log_timestamps 這個引數,該引數主要是控制 error log、genera log,等等記錄日誌的顯示時間引數。 在 5.7.2 之後改引數為預設 UTC 這樣會導致日誌中記錄的時間比中國這邊的慢,導致檢視日誌不方便。修改為 SYSTEM 就能解決問題
log_timestamps=system

# 這個神奇的引數5.7.6版本引入,用於定義一個記錄事務的演算法,這個演算法使用hash標識來記錄事務。如果使用MGR,那麼這個hash值需要用於分散式衝突檢測何處理,在64位的系統,官網建議設定該引數使用 XXHASH64 演算法。如果線上並沒有使用該功能,應該設為off
#transaction_write_set_extraction=MURMUR32

# 從mysql5.7.6開始information_schema.global_status已經開始被捨棄,為了相容性,此時需要開啟 show_compatibility_56
#show_compatibility_56=on
#2.建立程式目錄
(base) [root@mcmanager local]# mkdir -p /data/mysql-5.7.34/var/mysql/
(base) [root@mcmanager local]# mkdir -p /data/mysql-5.7.34/log
(base) [root@mcmanager local]# chown  -R mysql.mysql /data/mysql-5.7.34/

九、拷貝啟動指令碼

(base) [root@mcmanager local]# cd /usr/local/mysql/support-files/
(base) [root@mcmanager support-files]# cp mysql.server /etc/init.d/mysqld

十、初始化資料庫

(base) [root@mcmanager support-files]# cd /usr/local/mysql/bin

(base) [root@mcmanager bin]# ./mysqld --initialize  --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql-5.7.34/var/mysql
    --user:指定使用者
    --basedir:指定mysql的安裝目錄
    --datadir:指定MySQL的資料目錄
2021-09-15T10:58:38.887163+08:00 0 [Warning] InnoDB: New log files created, LSN=45790
2021-09-15T10:58:39.016162+08:00 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-09-15T10:58:39.089818+08:00 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d3b54d8d-15d0-11ec-bd55-00163e008d79.
2021-09-15T10:58:39.092037+08:00 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-09-15T10:58:40.055581+08:00 0 [Warning] CA certificate ca.pem is self signed.
2021-09-15T10:58:40.218610+08:00 1 [Note] A temporary password is generated for root@localhost: eq>;z9dtrypW

十一、配置system管理MySQL服務

#1.配置system管理MySQL
(base) [root@mcmanager bin]# vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000      

#2.重新載入啟動檔案列表
(base) [root@mcmanager bin]# systemctl daemon-reload

#3.system管理啟動MySQL
(base) [root@mcmanager bin]# systemctl  start mysql
(base) [root@mcmanager bin]# systemctl  status  mysql
● mysql.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysql.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-09-15 11:17:56 CST; 4s ago
     Docs: man:mysqld(8)
           https://dev.mysql.com/doc/refman/en/using-systemd.html
 Main PID: 6750 (mysqld)
    Tasks: 31
   CGroup: /system.slice/mysql.service
           └─6750 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.847772+08:00 0 [Warning] CA certificate ca.pem is self signed.
Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.847851+08:00 0 [Note] Skipping generation of RSA key pair as key fi...ectory.
Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.848035+08:00 0 [Note] Server hostname (bind-address): '*'; port: 3306
Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.848100+08:00 0 [Note] IPv6 is available.
Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.848117+08:00 0 [Note]   - '::' resolves to '::';
Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.848143+08:00 0 [Note] Server socket created on IP: '::'.
Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.873704+08:00 0 [Note] Failed to start slave threads for channel ''
Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.879663+08:00 0 [Note] Event Scheduler: Loaded 0 events
Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.879858+08:00 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Sep 15 11:17:57 mcmanager mysqld[6750]: Version: '5.7.34-log'  socket: '/data/mysql-5.7.34/var/mysql/mysql.sock'  port: 3306  M...r (GPL)
Hint: Some lines were ellipsized, use -l to show in full.

#4.檢視mysql服務程序和埠
(base) [root@mcmanager bin]# ps -ef | grep [m]ysql
mysql     6750     1  1 11:17 ?        00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
(base) [root@mcmanager bin]# netstat -lntp | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      6750/mysqld

十二、配置環境變數

#1.配置環境變數直接使用mysql
(base) [root@mcmanager bin]#  vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH                                                                     

#2.重新整理環境變數
(base) [root@mcmanager bin]# source /etc/profile

十三、登入資料庫

#1.登入資料庫
[root@mcmanager ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 798
Server version: 5.7.34-log

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

#2.修改資料庫密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '************';
Query OK, 0 rows affected (0.01 sec)

#3.授權root遠端主機訪問
mysql> create user 'root'@'%' identified by '************';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)

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