Linux系統版本:CentOS7.4
MySQL版本:5.7.28
在Linux平臺有RPM包、二進制包、源碼包3中安裝方式,這一篇文章主要是以RPM包爲例來介紹如何在Linux平臺下進行MySQL的安裝。
下載地址:
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gznode
具體安裝步驟以下:
(1)首先卸載mariadb,否則後面會和安裝mysql須要的庫衝突:mysql
[root@localhost ~]# rpm -qa | grep mariadb mariadb-libs-5.5.56-2.el7.x86_64 [root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
(2)用root用戶登陸系統,增長mysql用戶和組,數據庫安裝在此用戶下:linux
[root@localhost ~]# groupadd mysql [root@localhost ~]# useradd -r -g mysql -s /bin/false mysql
(3)準備數據目錄
以/app/data爲例,建議使用邏輯卷
[root@localhost ~]# mkdir -p /app/data
[root@localhost ~]# chown mysql.mysql /app/data/
[root@localhost ~]# chmod 750 /app/data
(4)準備二進制文件:sql
[root@localhost ~]# tar xvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ root@localhost ~]# cd /usr/local [root@localhost local]# ln -sv mysql-5.7.28-linux-glibc2.12-x86_64 mysql ‘mysql’ -> ‘mysql-5.7.28-linux-glibc2.12-x86_64’
(5)初始化MySQL:數據庫
[root@localhost ~]# cd /usr/local/mysql [root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/app/data 2019-11-03T09:47:18.263716Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2019-11-03T09:47:19.059462Z 0 [Warning] InnoDB: New log files created, LSN=45790 2019-11-03T09:47:19.140866Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2019-11-03T09:47:19.207569Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: ed1cd8ec-fe1e-11e9-8c9c-000c29f8617a. 2019-11-03T09:47:19.209181Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2019-11-03T09:47:19.646366Z 0 [Warning] CA certificate ca.pem is self signed. 2019-11-03T09:47:20.056792Z 1 [Note] A temporary password is generated for root@localhost: rY-6f??#!<zO
其中--basedir mysql基礎目錄 --datadir mysql數據存放目錄,並建立了root用戶的臨時密碼:rY-6f??#!<zO
(6)開啓ssl鏈接:vim
[root@localhost mysql]# bin/mysql_ssl_rsa_setup 2019-11-03 23:09:55 [ERROR] Failed to access directory pointed by --datadir. Please make sure that directory exists and is accessible by mysql_ssl_rsa_setup. Supplied value : /usr/local/mysql/data [root@localhost mysql]# bin/mysql_ssl_rsa_setup --datadir=/app/data
命令後面不加參數報錯,加了--datadir後不報錯
(7)編輯配置文件,保存退出:app
[root@localhost mysql]# vim /etc/my.cnf [mysqld] # GENERAL datadir=/app/data socket=/app/data/mysql.sock user=mysql default-storage-engine=InnoDB [mysqld_safe] log-error=/app/data/mysql-error.log pid-file=/app/data/mysqld.pid [client] socket=/app/data/mysql.sock
(8)啓動MySQL:socket
[root@localhost mysql]# bin/mysqld_safe --user=mysql &
(9)配置環境變量:
[root@localhost ~]# vim /etc/profile
#添加下面一行
export PATH=$PATH:/usr/local/mysql/bin
[root@localhost ~]# source /etc/profileide
(10)設置開機啓動:測試
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql.server [root@localhost mysql]# chkconfig --add mysql.server
(11)測試登陸成功:
[root@localhost ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.28 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>