MySQL二進制安裝(版本:5.7.26)

 

目錄

1、用戶的創建處理原始環境

2、下載,上傳文件

3、解壓二進制包

4、添加一個磁盤,掛載/data數據

5、創建數據路徑並授權

6、設置環境變量

7、Mysql賬號授權相應的文件

8、數據庫初始化 

9、配置文件的準備

10、啓動數據庫

11、如何分析處理MySQL數據庫無法啓動

12、管理員密碼的設定(root@localhost)

13、管理員用戶密碼忘記了?

14、啓動數據庫到維護模式


RDBMS : 關係型數據庫 管理系統

NoSQL : 非關係型的

NewSQL : 新型的分佈式解決方案

1、用戶的創建處理原始環境

[root@db01 ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y
[root@db01 ~]# rpm -qa |grep mariadb
[root@db01 ~]# useradd -s /sbin/nologin mysql

MySQL 5.7.26 二進制版本安裝

https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

2、下載,上傳文件

[root@db01 ~]# mkdir -p /server/tools
[root@db01 ~]# cd /server/tools/
[root@db01 /server/tools]# yum install -y lrzsz
[root@db01 /server/tools]# ls
mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

3、解壓二進制包

[root@db01 /server/tools]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 
[root@db01 ~]# mkdir /application
[root@db01 /server/tools]# mv mysql-5.7.26-linux-glibc2.12-x86_64  /application/mysql

 

基本思路:把軟件存放位置數據存放位置分開,確保數據安全

4、添加一個磁盤,掛載/data數據

5、創建數據路徑並授權

[root@db01 ~]# mkfs.xfs /dev/sdc
[root@db01 ~]# mkdir /mysql
[root@db01 ~]# blkid
[root@db01 ~]# vim /etc/fstab 
[root@db01 ~]# UUID="7d7814c3-1ad2-4622-a435-7086d05d6c55" /mysql xfs defaults 0 0
[root@db01 ~]# mount -a
[root@db01 ~]# df -h

6、設置環境變量

vim /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@db01 ~]# source /etc/profile
[root@db01 ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using  EditLine wrapper

7、Mysql賬號授權相應的文件

授權 
 chown -R mysql.mysql /application/*
 chown -R mysql.mysql /mysql

8、數據庫初始化 

5.6 版本 初始化命令  /application/mysql/scripts/mysql_install_db 
# 5.7 版本
[root@db01 ~]# mkdir /mysql/mysql/data -p 
[root@db01 ~]# chown -R mysql.mysql /mysql
[root@db01 ~]# mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/mysql/mysql/data 

 

說明:

--initialize 參數:

  • 1. 對於密碼複雜度進行定製:12位,4種
  • 2. 密碼過期時間:180
  • 3. 給root@localhost用戶設置臨時密碼

--initialize-insecure 參數:

無限制,無臨時密碼

[root@db01 /data/mysql/data]# \rm -rf /data/mysql/data/*
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/mysql/mysql/data

沒有密碼

9、配置文件的準備

cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/mysql/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF

10、啓動數據庫

1. sys-v

[root@db01 /etc/init.d]# cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld 
[root@db01 /etc/init.d]# service mysqld restart

2. systemd

注意: sysv方式啓動過的話,需要先提前關閉,才能以下方式登錄

cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF

11、如何分析處理MySQL數據庫無法啓動

without updating PID 類似錯誤

查看日誌:

在哪?

/data/mysql/data/主機名.err

[ERROR] 上下文

可能情況:

/etc/my.cnf 路徑不對等

/tmp/mysql.sock文件修改過 或 刪除過

數據目錄權限不是mysql

參數改錯了

12、管理員密碼的設定(root@localhost)

[root@db01 ~]# mysqladmin -uroot -p password oldboy123
Enter password: 

13、管理員用戶密碼忘記了?

--skip-grant-tables  #跳過授權表
--skip-networking    #跳過遠程登錄

14、啓動數據庫到維護模式

[root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &

登錄並修改密碼

mysql> alter user root@'localhost' identified by '1';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges;
mysql> alter user root@'localhost' identified by '1';
Query OK, 0 rows affected (0.01 sec)

關閉數據庫,正常啓動驗證

 

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