CentOS7離線安裝Mysql8.0.18

2020-10-04 11:00:40

CentOS7離線安裝Mysql8.0.18

查詢出來已安裝的mariadb
rpm -qa|grep mariadb
解除安裝mariadb,檔名為上述命令查詢出來的檔案
rpm -e --nodeps 檔名
上傳安裝包到/opt目錄

在這裡插入圖片描述

解壓安裝包
tar Jxvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
重新命名
mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql
mv mysql /usr/local
建立資料目錄
mkdir /usr/local/mysql/data
建立並編輯my.cnf檔案
vim /etc/my.cnf
填入以下內容
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/error.log
pid-file = /usr/local/mysql/mysql.pid
transaction_isolation = READ-COMMITTED
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
lower_case_table_names = 1
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
建立組
groupadd mysql
建立使用者
useradd -g mysql mysql
修改目錄許可權
  1. 將 /opt/mysql給予mysql使用者
chown -R mysql:mysql /usr/local/mysql
  1. 將/opt/mysql許可權設定為755
chmod -R 755 /usr/local/mysql
初始化mysql
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql
嘗試啟動mysql
cd /usr/local/mysql
./support-files/mysql.server start

啟動成功則如下:在這裡插入圖片描述

將mysql新增為服務
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
設定開機啟動
cd /etc/init.d
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
service mysql restart
設定環境變數
echo 'export MYSQL_HOME=/usr/local/mysql' >> /etc/profile
echo 'export PATH=.:$MYSQL_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
使用預設密碼登入mysql

在mysql目錄下有一個error.log的檔案,開啟可以看到預設密碼
在這裡插入圖片描述

mysql -uroot -p(預設密碼)
在MySQL8中第一次登陸需要重新設定root密碼
ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
開啟遠端存取
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password  BY '123456';
GRANT ALL ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

以上操作完,可以去遠端使用者端登入存取