centos7下 mysql5.7離線安裝


最近預研一個新項目,需要裝一個mysql,因為以前裝過,原本以為很簡單,大概半小時搞定,但是沒想到搞了一晚上,記錄一下完整步驟和遇到的問題。

1、軟件版本和安裝包准備

  • centos7
  • mysql5.7

官網下載地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

  • 版本選擇如下:
  • 安裝包選擇如下:

2、首先卸載系統中自帶的mysql並刪除配置文件

# 查看系統自帶的Mariadb和msql
rpm -qa|grep mariadb
rpm -qa | grep mysql
# 卸載系統自帶的Mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
# 刪除etc目錄下的my.cnf
rm /etc/my.cnf

3、創建mysql用戶和用戶組

# 創建mysql用戶組
groupadd mysql
# 創建一個用戶名為mysql的用戶,並加入mysql用戶組
useradd -g mysql mysql

4、安裝准備

這里我們安裝在/usr/local下面
cd /usr/local/
上傳
rz 安裝包
解壓 
tar -zxvf 安裝包名
mv 安裝包名 mysql
修改權限並創建data目錄
chown -R mysql mysql/
chgrp -R mysql mysql/
cd mysql/
mkdir data
chown -R mysql:mysql data

5、准備配置文件

cd /usr/local/mysql
vi my.cnf
[mysql]
socket=/var/lib/mysql/mysql.sock
# set mysql client default chararter
default-character-set=utf8

[mysqld]
socket=/var/lib/mysql/mysql.sock
# set mysql server port  
port = 3306
# set mysql install base dir
basedir=/usr/local/mysql
# set the data store dir
datadir=/usr/local/mysql/data
# set the number of allow max connnection
max_connections=200
# set server charactre default encoding
character-set-server=utf8
# the storage engine
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true

# 取消密碼驗證
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql.server]
user=mysql
basedir=/usr/local/mysql

6、進入mysql文件夾,並安裝mysql

cd /usr/local/mysql
這里注意不要使用mysql_install_db的初始化方法
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

如果報以下錯誤:
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or director
則執行:
yum -y install numactl

然后在執行:
usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

7、開啟服務

# 將mysql加入服務
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 開機自啟
chkconfig mysql on
# 開啟
service mysql start

8、設置密碼

# 登錄(由於/etc/my.cnf中設置了取消密碼驗證,所以此處密碼任意)
/usr/local/mysql/bin/mysql -u root -p
# 操作mysql數據庫
 use mysql;
# 修改密碼
update user set authentication_string=password('你的密碼') where user='root';
flush privileges;
exit;

重設密碼

將my.cnf中的skip-grant-tables刪除;
/usr/local/mysql/bin/mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '修改后的密碼';
exit;

允許遠程連接

/usr/local/mysql/bin/mysql -u root -p
use mysql;
update user set host='%' where user = 'root';
flush privileges;
eixt;

最后添加快捷方式

ln -s /usr/local/mysql/bin/mysql /usr/bin


免責聲明!

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



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