1、由於在線安裝受制於網絡環境,所以選擇tar包編譯安裝。
首先去mysql鏡像站下載mysql-5.7.30-linux-glibc2.5-x86_64.tar.gz
2、上傳到linux服務器
3、檢查你所用的Linux下有沒有安裝過mysql,沒有卸載干凈
rpm -qa|grep -i mysql
如果存在,則需要先卸載掉,不然會出現覆蓋錯誤。
yum remove mysql mysql-server mysql-libs mysql-server;
find / -name mysql 將找到的相關東西delete掉;
rpm -qa|grep mysql(查詢出來的東東yum remove掉)
4、創建mysql的用戶組/用戶, data目錄及其用戶目錄
userdel mysql # 刪除用戶
groupdel mysql # 刪除用戶組名
mkdir /usr/local/mysql # mysql的默認安裝路徑,建議不要更換,如果更換后續需要更新配置
mkdir /usr/local/mysql/data # 在mysql文件夾下創建文件夾data
groupadd mysql # 創建一個名為mysql的用戶組
useradd -g mysql -d /usr/local/mysql mysql # 在用戶組下創建用戶
5、解壓縮並轉移
# tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz # 解壓文件
# cd mysql-5.7.17-linux-glibc2.5-x86_64 # 進入
# mv * /usr/local/mysql/
6、編譯安裝
cd /usr/local/mysql/
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
https://static.oschina.net/uploads/space/2017/0412/113503_nmXK_196698.png
記錄上面成功安裝后的密碼,如上:hIE;k,h8gd#q,后續用到!
7、啟動mysql服務
啟動之前最好先配置/etc/my.cnf,步驟 8
./support-files/mysql.server start
如啟動報錯 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
需執行如下:ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock
目的是在/usr/local/mysql/和/tmp/mysql.sock之間做一個軟連接
8、配置mysql
#進入mysql的安裝目錄支持文件目錄
cd /usr/local/mysql//support-files
#設置編碼,可按需修改新的配置文件選項, 不修改配置選項, mysql則按默認配置參數運行.
#如下是我修改配置文件/etc/my.cnf, 設置編碼為utf8以防亂碼
vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
#表名不區分大小寫,如果是部署主從同步,一定要加上這句
lower_case_table_names=1
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
此處需要注釋掉##sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
否則后續登陸時會報異常:
mysql: [ERROR] unknown variable 'sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'
9、配置mysql服務開機自動啟動
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld # 拷貝啟動文件到/etc/init.d/下並重命令為mysqld
# chmod 755 /etc/init.d/mysqld # 增加執行權限
# chkconfig --list mysqld # 檢查自啟動項列表中沒有mysqld這個,
# chkconfig --add mysqld # 如果沒有就添加mysqld:
# chkconfig mysqld on # 用這個命令設置開機啟動:
10、mysql服務的啟動/重啟/停止
# service mysqld start # 啟動服務
# service mysqld restart # 重啟服務
# service mysqld stop # 停止服務
11、修改mysql用戶root的密碼
mysql -u root -p
輸入上邊自動生成的密碼,進入mysql環境
-bash : mysql :command not found
原因:這是由於系統默認會查找/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是映射一個鏈接到/usr/bin目錄下,相當於建立一個鏈接文件。
首先得知道mysql命令完整路徑,比如我的Linux的mysql的路徑是:/usr/local/mysql/bin/mysql,我們則可以這樣執行命令:
/usr/local/mysql/bin/mysql -uroot這樣執行命令,或者創建一個軟鏈接
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
mysql> SET PASSWORD = PASSWORD('123456'); # PASSWORD()里面的123456 是設置的新密碼,可以設置成你的密碼
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 1
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 1
12、mysql遠程授權
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
如果不設置的話,不能從客戶端遠程連接mysql
原文鏈接:https://blog.csdn.net/weixin_38281964/article/details/82016431