簡介:
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...