Linux Centos7下安裝Mysql5.7數據庫

環境準備

Linux發行版本:Centos7
Mysql數據庫版本:mysql-5.7.24

數據庫下載

方法一:官網下載地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
下載完成後使用ftp工具上傳到服務器。

方法二:直接通過wget命令在線下載:

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

下載完成後:

[admin@localhost apps]$ ls -lrt
total 629816
-rw-rw-r--. 1 admin admin 644930593 Dec 16 11:24 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

數據庫安裝

  1. 解壓數據庫文件
[admin@localhost apps]$ tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
[admin@localhost apps]$ ls -lrt
total 629816
-rw-rw-r--. 1 admin admin 644930593 Dec 16 11:24 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
drwxrwxr-x. 9 admin admin       129 Dec 16 14:16 mysql-5.7.24-linux-glibc2.12-x86_64
  1. 重命名
[admin@localhost apps]$ mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
[admin@localhost apps]$ ls -lrt
total 629816
-rw-rw-r--. 1 admin admin 644930593 Dec 16 11:24 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
drwxrwxr-x. 9 admin admin       129 Dec 16 14:16 mysql
  1. 複製到/usr/local/目錄
[admin@localhost apps]$ sudo cp -r mysql /usr/local/
[sudo] password for admin: 
  1. 目錄結構如下
[admin@localhost apps]$ cd /usr/local/mysql
[admin@localhost mysql]$ ls -lrt
total 36
drwxr-xr-x.  2 root root  4096 Dec 16 14:20 bin
drwxr-xr-x.  5 root root   230 Dec 16 14:20 lib
drwxr-xr-x.  3 root root  4096 Dec 16 14:20 include
drwxr-xr-x. 28 root root  4096 Dec 16 14:20 share
drwxr-xr-x.  2 root root    55 Dec 16 14:20 docs
-rw-r--r--.  1 root root  2478 Dec 16 14:20 README
drwxr-xr-x.  4 root root    30 Dec 16 14:20 man
-rw-r--r--.  1 root root 17987 Dec 16 14:20 COPYING
drwxr-xr-x.  2 root root    90 Dec 16 14:20 support-files
  1. 添加mysql用戶組和mysql用戶
[admin@localhost mysql]$ sudo groupadd mysql     # 創建用戶組
[sudo] password for admin: 
[admin@localhost mysql]$ sudo useradd -r -g mysql -s /bin/false mysql   # 創建用戶

-s /bin/false參數指定mysql用戶僅擁有所有權,而沒有登陸權限

  1. 修改mysql目錄權限
[admin@localhost mysql]$ cd /usr/local/mysql/
[admin@localhost mysql]$ sudo chown -R mysql:mysql ./
  1. 配置Mysql服務

將mysql/support-files下的mysql.server 複製到 /etc/init.d/下並自定義爲mysql:

[admin@localhost support-files]$ sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

打開/etc/init.d/mysql文件

[admin@localhost support-files]$ sudo vim /etc/init.d/mysql

查找:

basedir=
datadir=

修改爲:

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

  1. 配置mysql的配置文件

在其他版本的mysql 裏面 support-files下有默認的配置文件,而5.7.24這個版本沒有,需要自己準備,下面提供一份簡單基本配置

在/etc/ 下新建my.cnf ,有些可能會提示已經存在,因爲默認裝的數據庫配置文件也在,直接改名備份

[admin@localhost etc]$ pwd
/etc
[admin@localhost etc]$ ls -lrt my*
-rw-r--r--. 1 root root 570 Aug 16  2018 my.cnf

my.cnf.d:
total 4
-rw-r--r--. 1 root root 232 Apr 20  2018 mysql-clients.cnf
[admin@localhost etc]$ sudo mv my.cnf my.cnf.bak

新建:

[admin@localhost etc]$ sudo vim my.cnf

內容爲:

[admin@localhost etc]$ sudo vim my.cnf
[admin@localhost etc]$ cat my.cnf
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
port = 3306
default-character-set=utf8

[mysqld]
# 一般配置選項
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB
#設置表名不區分大小寫
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
  1. 初始化數據庫

新建目錄:data

[admin@localhost mysql]$ cd /usr/local/mysql
[admin@localhost mysql]$ sudo mkdir data
[sudo] password for admin:

[admin@localhost mysql]$ sudo chown -R mysql:mysql ./data

執行初始化:

[admin@localhost mysql]$ cd /usr/local/mysql/bin
[admin@localhost bin]$ sudo ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

如果遇到錯誤:./mysqld: error while loading shared libraries: libnuma.so.1:
cannot open shared object file: No such file or directory
則執行如下安裝命令:yum -y install numactl.x86_64
如果遇到錯誤:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
則執行如下安裝命令:yum -y install libaio
安裝完成後重新執行初始化命令

初始化成功後會生成默認的密碼在執行記錄中,注意複製出來:

2019-12-16T07:09:20.464295Z 1 [Note] A temporary password is generated for root@localhost: e>evo9Te6Qag

  1. 啓動mysql服務
[admin@localhost bin]$ sudo service mysql start
[sudo] password for admin: 
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
 SUCCESS!

啓動成功!

  1. 登錄及修改密碼

登錄

[admin@localhost bin]$ ./mysql -uroot -p   # 回車後輸入之前複製的默認密碼:e>evo9Te6Qag
Enter password: 

修改密碼:

mysql> alter user 'root'@'localhost' identified by '自定義新密碼';

刷新權限:

mysql>  flush privileges;
  1. 開放端口(可選)

開啓端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重載防火牆:

firewall-cmd --reload

  1. 設置開機啓動(可選)

查看自啓服務列表:

chkconfig --list

添加mysql服務到自啓服務:

chkconfig --add mysql

設置自啓:

chkconfig mysql on

  1. 設置環境變量(可選)
    爲了不用在mysql/bin目錄下才能連接mysql,將mysql/bin目錄設置到環境變量中
[admin@localhost bin]$ sudo vim /etc/profile

添加內容爲:

# mysql environment
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin

更新環境變量:

[admin@localhost bin]$ source /etc/profile

安裝完成,完美!

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