Centos 7離線安裝mysql

1.下載mysql安裝包

可以在以下網站下載,找到想要安裝的版本

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

由於是離線安裝,我選擇 mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

2.卸載包含mariadb關鍵字的RPM包

執行如下命令,查看是否含有mariadb包

rpm -qa|grep mariadb

如返回如圖,則卸載,沒有的話不要管

執行卸載命令

rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

3.安裝

tar xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

或者

tar --no-same-owner -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

 執行後,全部暴力安裝

rpm -Uvh *.rpm --nodeps --force

4.啓動mysql服務

systemctl start mysqld

5.查看mysql狀態

systemctl status mysqld

ps -le | grep mysqld

6.設置開機啓動

systemctl enable mysqld
systemctl daemon-reload

7.修改本地root密碼

mysql安裝完成之後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。通過以下命令找到密碼:

登錄MySQL,使用剛纔找到的密碼

mysql -u root -p

設置新密碼

set password for 'root'@'localhost'=password('why@0321');

如果報 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
則因爲不符合密碼策略

解決辦法:

輸入語句進行查看

SHOW VARIABLES LIKE 'validate_password%';

如果報 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

則可跳過查看直接執行 以下命令,將密碼策略降到最低

set global validate_password_policy=LOW;

再執行重設密碼命令

set password for 'root'@'localhost'=password('why@0321');

如果還不行,基本就是因爲密碼太過簡單

8.修改遠程登錄密碼

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'why@0321' WITH GRANT OPTION;

刷新MySQL的系統權限相關表,否則會出現拒絕訪問

flush privileges;

9.創建mysql相關文件夾

mkdir /hdata
mkdir /hdata/mysql_data
mkdir /hdata/mysql_data/data
mkdir /hdata/mysql_data/log
mkdir /hdata/mysql_data/binlog

9.修改mysql配置 /etc/my.conf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
port=3308
character_set_server=utf8
init_connect='SET NAMES utf8'

#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/hdata/mysql_data/data
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/hdata/mysql_data/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

server-id=1
log-bin=/hdata/mysql_data/binlog/bin-log

max_allowed_packet=10485760
max_connections=1000
default-time-zone = '+08:00'

10.將/var/lib/mysql拷貝到/opt/mysqldata 

cp -r /var/lib/mysql/*  /hdata/mysql_data/data

修改mysql數據目錄和日誌目錄文件夾屬性

chown -R mysql:mysql /hdata/mysql_data

11.重啓mysql

systemctl restart mysqld

查看mysql啓動狀態

systemctl status mysqld

如果修改端口後,無法啓動mysql,一般是因爲系統安全設置,可以嘗試使用命令:

setenforce 0

然後再重啓。

如果啓動仍然異常,查看下mysql的啓動情況

ps -ef|grep mysql

殺掉所有mysql相關進程,再重新啓動

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