linux安裝mysql5.7及相關環境配置


安裝mysql5.7以及相關環境配置

檢查是否自帶mysql和mariadb,並卸載

rpm -qa|grep mysql   //rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64

[root@localhost ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64

//卸載
[root@localhost ~]# rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

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

選擇版本后下載,然后上傳到服務器解壓

解壓:

tar -xzvf mysql....tar.gz

移動並重命名mysql

[root@localhost ~]# mv mysql-5.7.32-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.32

創建用戶組

[root@localhost mysql-5.7.32]# groupadd mysql
[root@localhost mysql-5.7.32]# useradd -r -g mysql mysql
[root@localhost mysql-5.7.32]# chown -R mysql:mysql /usr/local/mysql-5.7.32/

添加mysql服務:

cp /usr/local/mysql-5.7.29/support-files/mysql.server /etc/init.d/mysql

修改/etc/init.d/mysql

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

創建my_default.conf
路徑:/usr/local/mysql-5.7.32/support-files

[mysqld]

#設置mysql的安裝目錄
basedir = /usr/local/mysql-5.7.32
#設置mysql數據庫的數據存放目錄
datadir = /usr/local/mysql-5.7.32/data
#設置端口
port = 3306

explicit_defaults_for_timestamp=true

socket = /tmp/mysql.sock
#設置字符集
character-set-server=utf8
#日志存放目錄
log-error = /usr/local/mysql-5.7.32/data/mysqld.log
pid-file = /usr/local/mysql-5.7.32/data/mysqld.pid
#允許時間類型的數據為零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

然后把my_default.conf文件復制並該文件名為/etc/my.cnf

sql_mode:

STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

初始配置

[root@localhost mysql-5.7.32]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.32/ --datadir=/usr/local/mysql-5.7.32/data/

查看日志:

[root@localhost data]# cat mysqld.log 
2020-11-13T05:02:37.425129Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-11-13T05:02:37.488867Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-11-13T05:02:37.556845Z 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: 72f9cbb2-256d-11eb-8976-000c29c5f1de.
2020-11-13T05:02:37.557795Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-11-13T05:02:38.304828Z 0 [Warning] CA certificate ca.pem is self signed.
2020-11-13T05:02:38.485332Z 1 [Note] A temporary password is generated for root@localhost: TPFUIjwa+4T-
[root@localhost data]# pwd
/usr/local/mysql-5.7.32/data

把啟動腳本放到開機初始化目錄

cp support-files/mysql.server /etc/init.d/mysql

啟動mysql

[root@localhost init.d]# service mysql start
Starting MySQL. SUCCESS! 

修改mysql5.7 root密碼:

已知密碼:

[root@localhost mysql-5.7.32]# ./bin/mysql -uroot -p

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

不修改密碼的話會報錯,必須先修改密碼:alter user 'root'@'localhost' identified by 'poiuzxcv0987';
mysql> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> update user set authentication_string=password('poiuzxcv0987') where user='root';
ERROR 1046 (3D000): No database selected
mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> update mysql.user set authentication_string=password('poiuzxcv0987') where user='root';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by 'poiuzxcv0987';

在修改密碼過程中,如果密碼過於簡單也會報錯的,我們可以修改:`validate_password_length` (密碼長度)參數默認為8,我們修改為1
validate_password_policy:參數0表示長度驗證,參數1或者medium·表示大寫或小寫和特殊字符。,參數2或者STRONG,表示長度,大寫或者小寫和特殊字符,文件名稱
默認是1,即MEDIUM,所以要求,帶線密碼長度必須符合長度,含數字和小寫或者大寫

set global validate_password_policy=0;
// 設置密碼長度為1
set global validate_password_length=1;

修改密碼:

mysql> alter user 'root'@'localhost' identified by 'poiuzxcv0987';


免責聲明!

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



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