文章目錄
- MYSQL簡介
- 實驗環境
- 安裝步驟
- 總結
- mysql常用組態檔引數
- 常見mysql 啟動報錯總結
MYSQL簡介
查看mysql簡介
查看cmake編譯mysql
實驗環境
| 資料庫 | IP | 系統版本 | mysql版本 |
|---|---|---|---|
| MYSQL | 192.168.10.11 | CentOS 7.4 | 5.7.20 |
安裝步驟
-
下載安裝包
[root@localhost ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz --2021-04-18 20:58:11-- https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz Resolving downloads.mysql.com (downloads.mysql.com)... 137.254.60.14 Connecting to downloads.mysql.com (downloads.mysql.com)|137.254.60.14|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz [following] --2021-04-18 20:58:12-- https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz Resolving cdn.mysql.com (cdn.mysql.com)... 184.86.92.235 Connecting to cdn.mysql.com (cdn.mysql.com)|184.86.92.235|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 641127384 (611M) [application/x-tar-gz] Saving to: ‘mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz’ 100%[===================================================================>] 641,127,384 10.5MB/s in 61s 2021-04-18 20:59:13 (10.1 MB/s) - ‘mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz’ saved [641127384/641127384] [root@localhost ~]# ls anaconda-ks.cfg back_yum he.txt mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -
解壓 安裝包
[root@localhost ~]# mv mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz /usr/local/ [root@localhost local]# tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz [root@localhost local]# ln -s mysql-5.7.20-linux-glibc2.12-x86_64/ mysql [root@localhost local]# ll mysql -
創建用戶
[root@localhost local]# useradd -M -s /sbin/nologin mysql -
修改目錄/usr/local/mysql的屬主屬組
[root@localhost local]# chown -R mysql:mysql mysql [root@localhost local]# ll mysql lrwxrwxrwx 1 mysql mysql 36 Apr 18 21:22 mysql -> mysql-5.7.20-linux-glibc2.12-x86_64/ [root@localhost local]# -
設定環境變數
[root@localhost bin]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh [root@localhost bin]# source /etc/profile.d/mysql.sh [root@localhost bin]# echo $PATH /usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin -
建立資料存放目錄,并修改權限
[root@localhost bin]# mkdir -p /data/mysql [root@localhost bin]# chown -R mysql.mysql /data/mysql/ [root@localhost bin]# -
初始化資料庫
[root@localhost bin]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/data/mysql/ 2021-04-18T13:31:12.749412Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2021-04-18T13:31:13.310688Z 0 [Warning] InnoDB: New log files created, LSN=45790 2021-04-18T13:31:13.376643Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2021-04-18T13:31:13.437436Z 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: 584ca535-a04a-11eb-bee7-000c29e5f134. 2021-04-18T13:31:13.438276Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2021-04-18T13:31:13.439087Z 1 [Note] A temporary password is generated for root@localhost: !4wowa:8MipQ [root@localhost bin]# 請注意,這個命令的最后會生成一個臨時密碼,此處密碼是!4wowa:8MipQ,每個人初始化密碼不一樣,后面初次登陸用 -
創建mysql組態檔
[root@localhost bin]# cat > /etc/my.cnf <<EOF > [mysqld] > basedir=/usr/local/mysql > datadir=/data/mysql/ > socket=/tmp/mysql.sock > port=3306 > pid-file=/data/mysql/mysql.pid > user=mysql > skip-name-resolve > EOF [root@localhost bin]# cat /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/data/mysql/ socket=/tmp/mysql.sock port=3306 pid-file=/data/mysql/mysql.pid user=mysql skip-name-resolve [root@localhost bin]# -
設定服務啟動腳本
[root@localhost bin]# cd ../support-files/ [root@localhost support-files]# \cp -af mysql.server /etc/init.d/mysqld root@localhost support-files]# sed -ri 's#^(basedir=).*#\1/usr/local/mysql#g' /etc/init.d/mysqld [root@localhost support-files]# sed -ri 's#^(datadir=).*#\1/data/mysql/#g' /etc/init.d/mysqld -
啟動mysql
[root@localhost support-files]# [root@localhost support-files]# /etc/init.d/mysqld start Starting MySQL. SUCCESS! -
測驗:
[root@localhost ~]# ss -lant|grep 3306 LISTEN 0 80 :::3306 :::* [root@localhost ~]# mysql -uroot -p Enter password: mysql> quit Bye [root@localhost ~]#
總結
mysql常用組態檔引數
| 引數 | 說明 |
|---|---|
| port = 3306 | 設定監聽埠 |
| socket = /tmp/mysql.sock | 指定套接字檔案位置 |
| basedir = /usr/local/mysql | 指定MySQL的安裝路徑 |
| datadir = /data/mysql | 指定MySQL的資料存放路徑 |
| pid-file = /data/mysql/mysql.pid | 指定行程ID檔案存放路徑 |
| user = mysql | 指定MySQL以什么用戶的身份提供服務 |
| skip-name-resolve | 禁止MySQL對外部連接進行DNS決議 使用這一選項可以消除MySQL進行DNS決議的時間, 若開啟該選項,則所有遠程主機連接授權都要使用IP地址方 式否則MySQL將無法正常處理連接請求 |
常見mysql 啟動報錯總結
- **報錯1**
[root@localhost support-files]# /etc/init.d/mysqld start
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
[root@localhost support-files]#
關于網上對這個錯誤的總結,很多人都說權限問題,其實不管我們怎么給權限,好像都報錯,很多時候都是因為組態檔有問題,才導致的,如果出現此錯誤,建議檢查組態檔
- **報錯2**
Systemctl restart mariadb.service
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
解決方法:查看錯誤日志:journalctl –xe
查看埠是否被占用:netstat -tnlp|grep 3306
最終的判斷,MYSQL行程已經存在,無法啟動Mariadb,解決方法,停止原來的MYSQL服務;
- **報錯3**
Redirecting to /bin/systemctl restart mariadb.service
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)解決方法:
使用journalctl –xe查看MYSQL錯誤資訊;
關閉服務器selinux安全策略,關閉防火墻setenforce 0;
檢查MYSQL|Mariadb通過什么樣的方式部署的;
檢查其組態檔/etc/my.cnf,datadir資料目錄是否配置;檢查socket是否配置正確
確認資料庫的資料目錄mysql用戶是否擁有讀寫權限;
檢查資料庫目錄是否初始化,是否包括mysql、test基礎庫;
檢查socket檔案所在的路徑,是否存在socket檔案,權限是否正確;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/278177.html
標籤:其他
上一篇:搭建服務器環境完整(JDK,nginx,redis,rabbitmq,Jenkins,gitlab)
下一篇:Linux實驗: 簡單用戶創建
