操作系統:3.10.0-514.el7.x86_64
安裝包:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
1:檢查是否安裝了 libaio(centos7默認安裝)
rpm -qa | grep libaio
2:解壓
# tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
# cd /usr/local/
# mkdir mysql
# mv /app/mysql-5.7.25-linux-glibc2.12-x86_64/* mysql/
3:創建mysql用戶
# groupadd mysql
# useradd -r -g mysql mysql
4:創建相關目錄以及授權
# cd mysql/
# chown -R mysql:mysql ./
# mkdir data
# mkdir -p /var/lib/mysql
# chmod 766 /var/lib/mysql/ -R
# chown mysql:mysql /var/lib/mysql/ -R
5:修改配置文件
#vi /etc/my.cnf
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
#skip-name-resolve
#設置3306端口
port=3306
socket=/var/lib/mysql/mysql.sock
# 設置mysql的安裝目錄
basedir=/usr/local/mysql
# 設置mysql數據庫的數據的存放目錄
datadir=/usr/local/mysql/data
# 允許最大連接數
max_connections=200
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=16M
6:啟動
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
2019-04-15T14:20:38.757727Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-04-15T14:20:40.143729Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-04-15T14:20:40.429582Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-04-15T14:20:40.571055Z 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: a5a4ce13-5f89-11e9-8595-d850e6b87b68.
2019-04-15T14:20:40.585591Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-04-15T14:20:40.586435Z 1 [Note] A temporary password is generated for root@localhost: OR>sa;aya8aj
7:設置開機啟動
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
8:啟動
# service mysqld start
Starting MySQL. SUCCESS!
9:配置環境變量
vi /etc/profile
#MYSQL
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
10:修改root用戶密碼
(1)修改 /etc/my.cnf,在 [mysqld] 小節下添加一行:skip-grant-tables=1
這一行配置讓 mysqld 啟動時不對密碼進行驗證
(2)重啟 mysqld 服務:systemctl restart mysqld
(3)使用 root 用戶登錄到 mysql:mysql -u root
(4)切換到mysql數據庫,更新 user 表:
mysql> use mysql;
mysql> update user set authentication_string = password('mysql'), password_expired = 'N', password_last_changed = now() where user = 'root';
mysql> flush privileges;
在之前的版本中,密碼字段的字段名是 password,5.7版本改為了 authentication_string
(5)退出 mysql,編輯 /etc/my.cnf 文件,刪除 skip-grant-tables=1 的內容
(6)重啟 mysqld 服務,再用新密碼登錄即可
# service mysqld restart
# mysql -uroot -pmysql
11:增加防火牆策略
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# firewall-cmd --reload