linux_離線_mysql安裝


注意:本文系統環境 CentOS 7.7 64位

MySQL Community Server 5.7.32

一丶卸載CentOS7系統中默認的數據庫mariadb

原因一:ps原作者的話介紹下背景:CentOS 7 版本將MySQL數據庫軟件從默認的程序列表中移除,用MariaDB代替了,MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL后,有將MySQL閉源的潛在風險,因此社區采用分支的方式來避開這個風險。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。

原因解釋二:以前的Linux系統中數據庫大部分是mysql,不過自從被sun收購之后,就沒用集成在centos這些開源Linux系統中了,那么如果想用的話就需要自己安裝了,首先centos7 已經不支持mysql,因為收費了你懂得,所以內部集成了mariadb,而安裝mysql的話會和mariadb的文件沖突,所以需要先卸載掉mariadb。

1 yum list installed | grep mariadb    #檢查mariadb是否安裝
2 卸載命令一: yum -y remove mariadb*    
3 卸載命令二: rpm -qa |grep mariadb |xargs yum remove -y

 

二丶安裝Mysql

1.下載Mysql

下載地址:https://dev.mysql.com/downloads/mysql/

Select Version: 5.7.32

Select Operating System: Red Hat Enterprise Linux / Oracle Linux

Select OS Version: All

下載下方 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle (mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar)

2.將下載的mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar文件放到/usr/local/mysql目錄

2.1切換到/usr/local/mysql的當前目錄

2.2解壓壓縮文件

命令如下:

1 tar xf mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar
 

解壓后你會看到有10個rpm包

  • mysql-community-client(*客戶端程序和工具)

  • mysql-community-server(*服務器程序和工具)

  • mysql-community-libs(*LIB庫)

  • mysql-community-libs-compat(*LIB共享兼容庫)

  • mysql-community-common(*公共文件)

  • mysql-community-devel(開發MySQL必備的頭文件和庫)

  • mysql-community-embedded(嵌入式庫)

  • mysql-community-embedded-compat(嵌入式共享兼容庫)

  • mysql-community-embedded-devel(嵌入式開發庫)

  • mysql-community-test(測試套件)

2.3通過rpm方式安裝(ps記得在當前目錄, 只安裝必備包及其部分包)

命令如下:

-ivh解釋

-i 安裝軟件包 -v 可視化,提供更多的詳細信息的輸出 -h 顯示安裝進度

rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-5.7.32-1.el7.x86_64.rpm
 

安裝結束后會在Linux中的各種目錄生成必要的文件,如下表:

img

到現在為止,CentOS 7 安裝MySQL 5.7.32已經安裝結束。

.tar.gz的安裝方式中的, 比如添加mysql用戶及mysql用戶組等操作才需要額外設置的

這里RPM安裝包自動把這些都設置好了, 所以推薦rpm安裝方式, 可以大幅度減少操作.

2.4修改Mysql的my.cnf的配置 (不確定的可以直接復制我這份內容,文末會貼出一份常用的mysql配置信息)

[client]                                        # 客戶端設置,即客戶端默認的連接參數
port = 3306                                     # 端口號
user = mysql                                    # linux的用戶
​
[mysqld]                                        # 服務端基本設置
# 基礎設置
basedir = /usr/local/mysql                      # MySQL安裝根目錄
datadir=/data/mysql                             # MySQL數據文件所在位置 
socket=/var/lib/mysql/mysql.sock                # 用於本地連接的socket套接字,mysqld守護進程生成了這個文件
log-error=/var/log/mysqld.log                   # 數據庫錯誤日志文件
pid-file=/var/run/mysqld/mysqld.pid             # pid文件所在目錄
​
max_connections = 400                           # 最大連接數
character-set-server = utf8mb4                  # 設置client連接mysql時的字符集,防止亂碼
explicit_defaults_for_timestamp = true          # TIMESTAMP如果沒有顯示聲明NOT NULL,允許NULL值
lower_case_table_names = 1                      # 是否對sql語句大小寫敏感,1表示不敏感
max_allowed_packet = 128M                      # SQL數據包發送的大小,如果有BLOB對象建議修改成1G

 

 

注意: 默認data數據會存在/var/lib/mysql目錄下, 如果想自己指定位置, 請進行如下操作

1.刪除默認目錄 rm -rf /var/lib/mysql

2.新建自己的目錄 例如: mkdir /home/mysql

3.對應修改my.cnf中的datadir參數的值為 /home/mysql

4.將socket這項修改為socket=/home/mysql/mysql.sock

3.初始化數據庫, 啟動mysql,設置開機自啟

初始化數據庫命令如下:

mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql
 

給mysql用戶分配文件夾權限:

chown mysql:mysql /data/mysql -R
 

啟動mysql

systemctl start mysqld.service
 

設置為自動啟動

systemctl  enable mysqld
 

4.常見命令

systemctl start mysqld #啟動mysqld

systemctl stop mysqld #停止mysqld

systemctl restart mysqld #重啟mysqld

systemctl enable mysqld #設置開機啟動

systemctl status mysqld #查看 MySQL Server 狀態

三丶測試數據庫安裝是否成功

1.查詢默認生成的數據庫密碼

如下: #D#<Psahb3Gq就是密碼


[root@VM_0_10_centos mysql]# grep 'temporary password' /var/log/mysqld.log
2020-10-20T04:42:25.145990Z 1 [Note] A temporary password is generated for root@localhost: #D#<Psahb3Gq

 

2.登錄MYSQL(輸入密碼的時候是沒有顯示的, ssh工具一般支持賦值粘貼,可以考慮復制)

mysql -u root -p 
 

3.修改MYSQL密碼

注意: 可能出現的情況

1.密碼要大於8位才能修改成功

2.可以考慮設置為符合要求的密碼,或者修改密碼策略

修改密碼策略

mysql> set global validate_password_special_char_count=0; 參數是密碼中非英文數字等特殊字符的個數,當密碼策略是MEDIUM或以上時生效。
​
mysql> set global validate_password_length=6 參數是密碼的長度
​
mysql> set global validate_password_mixed_case_count=0; 參數是密碼中英文字符大小寫的個數,當密碼策略是MEDIUM或以上時生效。
​
mysql> set global validate_password_number_count=0;  參數是密碼中至少含有的數字個數,當密碼策略是MEDIUM或以上時生效。
​
mysql> set global validate_password_policy=0; 這個參數可以設為0、12,分別代表從低到高的密碼強度,此參數的默認值為1,如果想將密碼強度改弱,則更改此參數為0。
 

修改密碼的三個方式(任選其一即可): 在123456處填入你要修改的密碼

方式1: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
方式2: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
方式3: mysql> use mysql; 
     mysql> UPDATE user SET Password = PASSWORD('123456') WHERE user = 'root'; 
     mysql> FLUSH PRIVILEGES;

exit退出mysql,再使用新密碼登錄

4.遠程訪問Mysql授權設置

刷新權限 FLUSH PRIVILEGES; 使修改立即生效.

mysql> use mysql; 
     mysql> UPDATE user SET host = '%' WHERE user = 'root'; 
     mysql> FLUSH PRIVILEGES;

 

 

這個時候, 你就可以通過其它的電腦使用Navicat等數據庫操作軟件遠程連接你服務器的數據庫了

 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM