1. 場景描述
mysql離線安裝並不復雜,就是經常會出現漏東西,有時候的搞半天,總結下,快速離線安裝mysql,直接把下面的命令敲一遍就好,5-10分鍾就能安裝好。
2. 解決方案
安裝的mysql版本為:5.7,官網下載的gz包為:mysql-5.7.24-el7-x86_64.tar.gz。
2.1 安裝
主要是上傳文件、解壓、新建用戶等。
2.1.1 詳細命令
1. gz文件上傳到目錄: /usr/local/
2. 解壓
cd /usr/local/
tar -zxvf mysql-5.7.24-el7-x86_64.tar.gz
mkdir mysql
mv mysql-5.7.24-el7-x86_64/* mysql
rm -rf mysql-5.7.24-el7-x86_64
rm -rf mysql-5.7.24-el7-x86_64.tar.gz
3.新建mysql用戶
groupadd mysql //創建用戶組
useradd -r -g mysql mysql //-r參數表示mysql用戶是系統用戶,不可用於登錄,創建用戶並將用戶組
chown -R mysql mysql/
chgrp -R mysql mysql/
2.1.2 效果圖
2.2 配置參數
主要是配置my.cnf文件
2.2.1 詳細命令
vi /etc/my.cnf
內容如下,可以添加你需要的配置:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#不區分大小寫
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=5000
default-time_zone = '+8:00'
保存內容,按esc輸入如下命令
:wq!
2.2.2 效果圖:
2.3 初始化命令
---------------20191023更新-----------
回過頭來使用教程又安裝,發現有兩個坑,記錄下,root賬戶執行
yum install libaio
cd /var/log/
vi mysqld.log
:wq
chmod 777 mysqld.log
chown mysql:mysql mysqld.log
-----------------------
cd /var/run/
mkdir mysqld
chmod 777 mysqld
cd mysqld
vim mysqld.pid
chmod 777 mysqld.pid
chown mysql:mysql mysqld.pid
然后再執行初始化:
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
執行成功后,查看默認的初始化密碼
查看初始密碼
cat /var/log/mysqld.log
基本最后的地方:
A temporary password is generated for root@localhost: B2iSyfs;d(dT
其中B2iSyfs;d(dT,就是初始密碼(root@localhost: 這里就是初始密碼)
2.4 完成配置,啟動服務
使用mysql用戶啟動
su - mysql
輸入密碼
/usr/local/mysql/support-files/mysql.server start
啟動完成后,可以用ps命令看一下是否已經啟動成功。
2.5 遠程連接
mysql服務啟動完成后,默認遠程客戶端是無法連接接的,需要在linux環境下登錄mysql,並執行相關命令。
/usr/local/mysql/bin/mysql -uroot -p mysql
輸入root密碼:(B2iSyfs;d(dT)
set password=password('laowang');
UPDATE mysql.user SET Host = '%', User = 'root' WHERE (Host = 'localhost') AND (User = 'root');
FLUSH PRIVILEGES;
2.6 設置開機自動啟動
cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
2.7 其他(服務重啟命令等)
su - mysql
service mysqld start/stop/restart