MYSQL安裝和初始化配置

2021-08-16 08:01:43 字數 4893 閱讀 8420

簡介:

mysql是乙個關係型資料庫管理系統,由瑞典mysql ab 公司開發,目前屬於 oracle 旗下產品。mysql 是最流行的關係型資料庫管理系統之一,在 web 應用方面,mysql是最好的 rdbms (relational database management system,關聯式資料庫管理系統) 應用軟體。

mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性。

mysql所使用的 sql 語言是用於訪問資料庫的最常用標準化語言。mysql 軟體採用了雙授權政策,分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型**的開發都選擇 mysql 作為**資料庫。

安裝 :

安裝部分分為手動bundle包安裝及yum自動安裝,下面將分別說明

手動安裝:

1.準備安裝介質

系統:centos7.4 minimal   關閉selinux

介質:mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar

2.安裝步驟

[root@localhost]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps#刪除已有的mariadb包,否則會有衝突

[root@localhost]# tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar

[root@localhost]# rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm

[root@localhost]# rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm

[root@localhost]# rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm

[root@localhost]# rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm

[root@localhost]# rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm

yum安裝:

1.準備安裝介質

系統:centos7.4 minimal

2.安裝步驟

[root@localhost]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

[root@localhost]# yum install wget -y

[root@localhost]# wget

[root@localhost]# rpm -ivh mysql57-community-release-el7-10.noarch.rpm

[root@localhost]# yum repolist enabled | grep "mysql.*-community.*"

此步為驗證步驟,有如下輸出則說明安裝成功

mysql-connectors-community/x86_64 mysql connectors community                  45

mysql-tools-community/x86_64           mysql tools community                           59

mysql57-community/x86_64                 mysql 5.7 community server                  247

[root@localhost]# vi /etc/yum.repos.d/mysql-community.repo

檢視mysql5.7yum源為enable狀態

[root@localhost]# yum install mysql-community-server -y

yum方式安裝完成

基礎配置:

預設mysql初始化為把相關檔案都生成到/var/lib下,我們初始化時指定自定義目錄,注意修改該目錄許可權,否則無法寫入

[root@localhost]# mkdir -p /mysql/data

[root@localhost]# chown -r mysql. /mysql

[root@localhost]# mysqld --initialize --user=mysql  --datadir=/mysql/data

執行初始化命令,新的資料庫會生成在/mysql/data下,mysql預設編碼集為latin,配置檔案改為utf8mb4

[root@localhost]#  sed -i 's/datadir\=\/var\/lib\/mysql/# datadir\=\/var\/lib\/mysql/g' /etc/my.cnf

[root@localhost]# sed -i 's/socket\=\/var\/lib\/mysql\/mysql.sock/# socket\=\/var\/lib\/mysql\/mysql.sock/g' /etc/my.cnf

[root@localhost]# echo  "datadir=/mysql/data">>/etc/my.cnf

[root@localhost]# echo  "socket=/mysql/data/mysql.sock">>/etc/my.cnf

[root@localhost]# echo  "character-set-server=utf8mb4">>/etc/my.cnf

由於mysql預設的日誌輸出時間為utc,所以預設情況下日誌列印時間和系統時間會相差8小時,在此將列印時間修正為本地系統時間,這是日誌系統的時間值設定,與預設時區沒關係。

[root@localhost]# echo  "log_timestamps=system">>/etc/my.cnf

buffer pool部分,將主機記憶體的70%-80%分配給資料庫,且總記憶體需要大於1g,多例項buffer pool才生效。以4g記憶體為例:

[root@localhost]# echo  "innodb_buffer_pool_chunk_size=1g">>/etc/my.cnf

[root@localhost]# echo  "innodb_buffer_pool_size=4g">>/etc/my.cnf

[root@localhost]# echo  "innodb_buffer_pool_instances=4">>/etc/my.cnf

開啟binlog,如果為測試環境可以不用開啟歸檔,其中server_id指定為任意數字即可(保證該值集群內不重複),binlog_format是官方建議的row模式,log_bin路徑最後的mysql-binlog為binlog的檔名,mysql會在指定路徑下生成該檔名為字首的索引檔案(mysql-binlog.index)和binlog檔案(mysql-binlog.000001),expire_logs_days指定了日誌的過期時間,超期日誌會被mysql自動刪除。

[root@localhost]# mkdir -p /mysql/mysql-binlog

[root@localhost]# chown  mysql. /mysql/mysql-binlog

[root@localhost]# echo "server-id=98">>/etc/my.cnf

[root@localhost]# echo "log-bin=/mysql/mysql-binlog/mysql-binlog">>/etc/my.cnf

[root@localhost]# echo "binlog_format=row">>/etc/my.cnf

[root@localhost]# echo "expire_logs_days=7">>/etc/my.cnf

以上為[mysqld]頁籤的修改項

[root@localhost]# echo  "[client]">>/etc/my.cnf

[root@localhost]# echo  "default-character-set=utf8mb4">>/etc/my.cnf

[root@localhost]# echo  "socket=/mysql/data/mysql.sock">>/etc/my.cnf

新增[client]設定,修改了mysql預設路徑後,需要修改該項,否則本地訪問時會報找不到mysql.sock

啟動mysql

[root@localhost]# systemctl start mysqld

找到/var/log/mysqld.log生成的預設密碼,登入mysql

[root@localhost]# mysql -u root -p'******x'

mysql>set password = password('new password');

mysql> flush privileges;

至此mysql的基本安裝和簡單配置已經完成

mysql 安裝初始化配置

1.1.新建my.ini配置檔案 client 設定mysql客戶端預設字符集 default character set utf8 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir d code mysql 8.0.16 winx64 設定 mysql資料...

mysql安裝初始化 MySQL 初始化安裝

client port 3700 埠 socket tmp mysql.sock 如果主機上執行了多個mysql,請注意區分開來 default character set utf8 mysql default character set utf8 mysqld server id 13000 po...

mysql 初始化 MySQL 初始化安裝

client port 3700 埠 socket tmp mysql.sock 如果主機上執行了多個mysql,請注意區分開來 default character set utf8 mysql default character set utf8 mysqld server id 13000 po...