CentOS7使用tar.gz包安裝MySql的踩坑之旅


由於客戶的CentOS服務器沒有安裝yum工具,只能通過下載tar.gz包安裝mysql,於是跟着萬能的百度開啟了漫漫踩坑之旅:

1、下載mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

2、解壓到/usr/local/文件夾下,並改名為mysql

3、添加mysql用戶組和mysql用戶

groupadd mysql
useradd -r -g mysql mysql

4、進入mysql文件夾

5、修改當前目錄擁有者為剛才新建的mysql用戶:

chown -R mysql:mysql ./

6、復制默認全局啟動參數配置文件到/etc目錄:

網上的教程說是

cp ./support-files/my-medium.cnf  /etc/my.cnf

結果發現support-files目錄下根據沒有my-medium.cnf文件;於是繼續百度、google,最終用下面的方式解決:

先修改support-files/my-default.cnf文件,在文件中增加:

[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8 
socket=/var/lib/mysql/mysql.sock

[mysqld]
skip-name-resolve
#設置3306端口
port = 3306 
socket=/var/lib/mysql/mysql.sock
# 設置mysql的安裝目錄
basedir=/usr/local/mysql
# 設置mysql數據庫的數據的存放目錄
datadir=/usr/local/mysql/data
# 允許最大連接數
max_connections=200
# 服務端使用的字符集默認為utf8字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M

然后復制到/etc下,並改名為my.cnf:

cp ./support-files/my-default.cnf  /etc/my.cnf

7、執行安裝包中自帶腳本,安裝數據庫:

./scripts/mysql_install_db --user=mysql

結果報錯(具體錯誤我也忘了),安裝不下去,改為:

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql

可以往下裝了,但是又報錯:Can't find messagefile /usr/share/mysql/errmsg.sys

網上有解決方案是在my.conf文件的[mysqld]部分增加一句:

language = /usr/local/mysql/share/english

但是不起作用,錯誤依舊。后來我把/user/local/mysql/share/english文件夾下的errmsg.sys文件復制到/usr/share/mysql/下,問題解決,終於裝上了。

8、修改當前目錄擁有者為root用戶,修改data目錄擁有者為mysql用戶

chown -R root:root ./
chown -R mysql:mysql data

9、啟動mysql

sudo /usr/local/mysql/support-files/mysql.server start

10、修改root密碼

./bin/mysqladmin -u root password '密碼'

11、部署應用后,發現mysql命令可以連接,但是jdbc連不上mysql,經過一番折騰,發現是授權問題,給root授權訪問localhost的權限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'IDENTIFIED BY '12345' WITH GRANT OPTION;
FLUSH PRIVILEGES;

神奇的是授權后還是不行,查看mysql的user表:

SELECT user,host,password FROM mysql.user;

發現root訪問localhost、127.0.0.1、%的密碼居然不一樣,修改:

UPDATE mysql.user SET password=PASSWORD('密碼') WHERE user='root';

重啟mysql,終於jdbc也可以正常連接了;

12、 把mysql添加到環境變量:

vi /etc/profile

在文件中增加

export MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

讓修改生效

source /etc/profile

13、這時再使用mysql命令行連接時又報錯:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

查看my.cnf,發現配置了socket=/var/lib/mysql/mysql.sock,於是執行下面的命令創建一個軟連接后解決:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM