Linux給MySQL配置環境變量

前言

今天不知道爲什麼特別生氣,早上去上班的路上開車也很路怒,我知道這樣很不好,但是,只能說慢慢改吧! 在一個初次見面大佬面前放肆,被大佬教育了,還好大佬人很不錯。 事情是這樣的,領導佈置了一個驗證數據庫備份的任務,因爲本地環境與生產環境不一致,所以還原的時候經常報錯,每次一報錯就要把環境改對,再重新還原,很浪費時間,畢竟是幾十G的數據庫備份。

發現問題

今天想着要不直接還原到測試環境去,反正環境一致,上服務器一看磁盤空間也夠了,完美,說幹就幹! 上服務器一看,執行

# mysql -uxxx -p

結果提示

# -bash: mysql: command not found

經驗豐富的老鳥這會應該知道是沒有配環境變量的問題了,畢竟已經能確定mysql就是裝在這個服務器上的,執行ps命令 (但是我當時沒發現,所以氣得在大佬面前跳腳倒苦水,被大佬鄙視了,但是也學到了)

# ps -ef|grep mysql
# root      44783      1  0  2020 ?        00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/cico-218-4.pid
mysql     45020  44783  4  2020 ?        12-18:10:25 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/lib/mysql/mysqld.log --open-files-limit=65535 --pid-file=/var/lib/mysql/cico-218-4.pid --socket=/var/lib/mysql/mysql.sock
root     206115 205519  0 10:09 pts/1    00:00:00 grep --color=auto mysql

可以看到basedir=/usr/local/mysql,所以,其實我們直接去這個目錄下的bin目錄執行mysql命令也可以,但是這樣顯得很不實用,所以要把環境變量給配上。 先執行一下這命令試試,可以看到提示輸密碼的已經出來了,說明命令沒問題,接下來開始配環境變量。

# /usr/local/mysql/bin/mysql -uxxx -p
Enter password:

配置環境變量

# vim # /etc/profile

在最後一行加入export PATH=/usr/local/mysql/bin:$PATH,/usr/local/mysql/bin就是mysql的bin目錄,用剛纔的basedir加個/bin就可以了,配置好以後,執行命令讓環境變量生效

# source /ect/profile

新的問題

直接執行命令,看是否生效

# mysql -uxxx -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

看到環境變量已經生效了

解決新的問題

這裏解決問題的方法參考以下博客文章

解決MySQL sock問題

但是發現了新的問題,趕緊查下,發現是不能通過mysql .sock連接MySQL的問題 通過剛纔的ps命令可以看到socket=/var/lib/mysql/mysql.sock,去my.cnf看下socket配置

# vim /ect/my.cnf

看到socket=/var/lib/mysql/mysql.sock,配置應該是沒問題,但是mysql的sock文件一般不是在 /tmp/mysql.sock 就是在 /var/lib/mysql/mysql.sock 這裏 所以這裏用ln命令來創建一個連接

# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

或者是

# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

後面我就沒有參考大神重啓和賦權這個數據庫的命令了,因爲這是客戶的測試環境,我甚至沒有root用戶的權限。然後我再次執行了之前的命令發現已經可以登錄數據庫了。

完結!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章