編碼的世界 / 優質文選 / 歷史

RPM包安裝MYSQL


2022年7月28日
-   

基於RPM的linux發布版安裝mysql的推薦方法是使用oracle提供的RPM軟件包。可以從兩個來源獲取他們。
    從MySQL軟件庫中

MySQL Yum庫 MySQL SLES庫
    https://dev.mysql.com/downloads/mysql/

注意:其他供應商也提供mysql的RPM發布版。它們在功能、能力和設置等方面可能與oracle創建的RPM不同,本文中的安裝說明不一定適用於它們。
MYSQL RPM包
        Mysql免費版RPM 包
包名稱
摘要
mysql-community-server
數據庫服務器及相關工具
mysql-community-client
MySQL客戶端應用和工具
mysql-community-common
服務器和客戶端庫的普通文件
mysql-community-devel
開發MySQL數據庫客戶端應用程序的頭文件和庫
mysql-community-libs
MySQL數據庫客戶端應用程序的共享庫
mysql-community-libs-compat
用於以前安裝的MySQL的共享兼容性庫
mysql-community-embedded
MySQL嵌入式庫
mysql-community-embedded-devel
嵌入式開發MySQL數據庫客戶端應用程序的頭文件和庫
mysql-community-test
MySQL服務器的測試套件

Mysql企業版RPM 包
Package Name Summary
mysql-commercial-backup
MySQL Enterprise Backup (added in 8.0.11)
mysql-commercial-client
MySQL client applications and tools
mysql-commercial-common
Common files for server and client libraries
mysql-commercial-devel
Development header files and libraries for MySQL database client applications
mysql-commercial-embedded-compat
MySQL server as an embedded library with compatibility for applications using version 18 of the library
mysql-commercial-libs
Shared libraries for MySQL database client applications
mysql-commercial-libs-compat
Shared compatibility libraries for previous MySQL installations; the version of the libraries matches the version of the libraries installed by default by the distribution you are using
mysql-commercial-server
Database server and related tools
mysql-commercial-test
Test suite for the MySQL server

RPM包的命名符合以下語法規則:
packagename-version-distribution-arch.rpm
distribution 和arch 表示RPM包針對linux發布版和處理器類型。有關distribution 標識的列表,請參見下表:
Distribution Value Intended Use
el6, el7, and el8
Red Hat Enterprise Linux/Oracle Linux/CentOS 6, 7, and 8
fc29 fc30
Fedora 29 and 30
sles12
SUSE Linux Enterprise Server 12

使用以下命令查看rpm包中的所有文件(例如,mysql-community-server):
rpm -qpl mysql-community-server-version-distribution-arch.rpm
一些包之間存在依賴關系。如計劃安裝多個軟件包,則下載RPM的tar文件就可以了,它包含上面列出的所有rpm軟件包。
在大多數情況下,需要安裝mysql-community-server、mysql-community-client、mysql-community-libs、mysql-community-common和mysql-community-libs-compat包來獲得一個功能正常的標准mysql安裝。
要執行這種標准的基本安裝,則轉到包含所有這些包的目錄下(最好沒有其他名稱相似的rpm包),並執行以下命令:
yum install mysql-community-{server,client,common,libs}-*
在SLES平台用zypper替換yum,在Fedora用dnf替換fedora。
使用yum這樣的高級包管理工具來安裝包更便捷,但也可以用rpm -uvh命令替換yum安裝命令;因為安裝過程可能會遇到潛在的依賴性問題,使用rpm -uvh反而會使安裝過程更容易失敗。
如果僅安裝客戶端程序,就可以在安裝的軟件包列表中略過MySQL-community-server;執行以下命令:
yum install mysql-community-{client,common,libs}-*
在SLES平台用zypper替換yum,在Fedora用dnf替換fedora。
使用RPM包默認安裝mysql會在系統目錄下創建文件和資源,如下表所示:
Files or Resources Location
Client programs and scripts
/usr/bin
mysqld server
/usr/sbin
Configuration file
/etc/my.cnf
Data directory
/var/lib/mysql
Error log file
對於RHEL, Oracle Linux, CentOS or Fedora 平台:/var/log/mysqld.log
對於SLES: /var/log/mysql/mysqld.log
Value of secure_file_priv
/var/lib/mysql-files
System V init script
對於RHEL, Oracle Linux, CentOS or Fedora 平台:/etc/init.d/mysqld
對於 SLES: /etc/init.d/mysql
Systemd service
對於 RHEL, Oracle Linux, CentOS or Fedora 平台: mysqld
對 SLES: mysql
Pid file
/var/run/mysql/mysqld.pid
Socket
/var/lib/mysql/mysql.sock
Keyring directory
/var/lib/mysql-keyring
Unix manual pages
/usr/share/man
Include (header) files
/usr/include/mysql
Libraries
/usr/lib/mysql
Miscellaneous support files (for example, error messages, and character set files)
/usr/share/mysql

安裝還會在系統上創建一個名為mysql的用戶和一個名為mysql的組。
mysql不會在安裝過程結束時自動啟動。對於Red Hat Enterprise Linux、oracle linux、centos和fedora系統,使用以下命令啟動mysql:
systemctl start mysqld
對於SLES系統,命令是相同的,但是服務名稱不同:
systemctl start mysql
如果操作系統啟用了systemd,則應使用標准systemctl(相反的,使用service)命令(如停止、啟動、狀態和重新啟動)來管理mysqlserver服務。默認情況下,mysql服務是開機啟動的。
在升級時,如果MYSQL server正在運行,那麼MYSQL server會立刻停止運行,升級,啟動。
一個例外是:如果版本在升級過程中也發生了變化(比如社區升級到商業版,反之亦然),那麼mysql服務器就不會重新啟動。
在服務器初始啟動時,假設服務器的數據目錄為空,會發生以下情況:
初次啟動mysql(MySQL 8.0以及更高版本) 服務端後,服務端發生如下事件:
服務端初始化。SSL certificate and key文件在data目錄生成。 validate_password 插件 被安裝以及生效。超級用戶 'root'@'localhost' 以及密碼被生成,密碼存在 error log file,為了找到密碼,執行以下命令
grep 'temporary password' /var/log/mysqld.log
在SLES平台執行以下命令:
grep 'temporary password' /var/log/mysql/mysqld.log
用自動產生的密碼登錄mysql後,應盡快修改密碼。
注意:默認安裝的validate_password要求密碼必須包含:大,小寫字符,特殊字符,數字。密碼總長度不低於8個。
如果安裝過程中出現問題,你可以在錯誤日志文件/var/log/mysqld.log(SLES平台/var/log/mysql/mysqld.log)中找到調試信息。
對於某些linux發行版,可能有必要增加mysqld可用文件描述符的數量限制。
從多個mysql版本安裝客戶端庫
例如,希望與鏈接到以前庫的舊應用程序保持兼容性的情況下,可以安裝多個客戶端庫版本。要安裝舊的客戶端庫,使用rpm的- oldpackage選項。例如, 安裝mysql-community-libs-5.5在el6系統上,該系統已經從mysql 8.0安裝了libmysqlclient.21,請使用如下命令:
rpm oldpackage -ivh mysql-community-libs-5.5.50-2.el6.x86_64.rpm
調試包
MYSQL server的RPM包包含一個和調試包一起編譯的特殊變體。當server運行時,變體執行調試和內存分配檢查,並生成trace文件。要使用調試版本,使用/usr/sbin/mysqld-debug啟動mysql,而不是將其作為服務或/usr/sbin/MySQL啟動。
注意:在mysql 8.0.4中,調試版本的默認插件目錄從/usr/lib64/mysql/plugin更改為/usr/lib64/mysql/plugin/debug。以前,需要將plugin_dir更改為/usr/lib64/mysql/plugin/debug以用於調試版本。

熱門文章