安裝包下載
1.官方下載

這樣就可以下載二進制包了
服務器中操作
1.刪除之前安裝的MySQL包
[root@localhost ~]# rpm -qa | grep mariadb mariadb-libs-5.5.60-1.el7_5.x86_64 [root@localhost ~]# yum erase -y mariadb-libs-5.5.60-1.el7_5.x86_64
2.解壓縮
tar -xf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
3.重命名並移動到/usr/local/mysql
mv mysql-8.0.13-linux-glibc2.12-x86_64 /usr/local/mysql
4.創建mysql用戶和組
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql
5.創建數據目錄,日志目錄,配置文件目錄,變更權限
mkdir /usr/local/mysql/data mkdir /usr/local/mysql/etc mkdir /usr/local/mysql/log chown -R mysql:mysql /usr/local/mysql/
6.編輯mysql配置文件
vim /usr/local/mysql/etc/my.cnf [mysql] port = 3306 socket = /usr/local/mysql/data/mysql.sock [mysqld] port = 3306 mysqlx_port = 33060 mysqlx_socket = /usr/local/mysql/data/mysqlx.sock basedir = /usr/local/mysql datadir = /usr/local/mysql/data socket = /usr/local/mysql/data/mysql.sock pid-file = /usr/local/mysql/data/mysqld.pid log-error = /usr/local/mysql/log/error.log #這個就是用之前的身份認證插件 default-authentication-plugin = mysql_native_password #保證日志的時間正確 log_timestamps = SYSTEM
7.初始化數據庫,並查看日志
cd /usr/local/mysql bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data tailf /usr/local/mysql/log/error.log 2019-01-13T20:27:49.270330+08:00 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 6990 2019-01-13T20:27:53.320375+08:00 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: SV!sgk7?k0i= 2019-01-13T20:27:54.805257+08:00 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server has completed
記住這個臨時密碼,后邊要用到
8.設置啟動文件,設置環境變量
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld /etc/init.d/mysqld start Starting MySQL.. SUCCESS! [root@localhost ~]# ps -ef | grep mysql root 7072 1 0 20:30 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysqld.pid mysql 7287 7072 7 20:30 pts/0 00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/log/error.log --pid-file=/usr/local/mysql/data/mysqld.pid --socket=/usr/local/mysql/data/mysql.sock --port=3306 root 7334 6821 0 20:30 pts/0 00:00:00 grep --color=auto mysql
配置環境變量
vim /etc/profile PATH=$PATH:$HOME/bin:/usr/local/mysql/bin source /etc/profile
9.登錄並配置遠程登錄
[root@localhost ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.13 Copyright (c) 2000, 2018, 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> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456!'; Query OK, 0 rows affected (0.02 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec) mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select host, user, authentication_string, plugin from user; +-----------+------------------+------------------------------------------------------------------------+-----------------------+ | host | user | authentication_string | plugin | +-----------+------------------+------------------------------------------------------------------------+-----------------------+ | localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | root | *611725B3AA4055897CDB648E55E0A0EA856389E2 | mysql_native_password | +-----------+------------------+------------------------------------------------------------------------+-----------------------+ 4 rows in set (0.00 sec) #這里就可以看到root@localhost這里的密碼已經是mysql_native_password方式了 #這就是創建一個遠程用戶登錄 mysql> create user 'root'@'%' identified by '123456!'; Query OK, 0 rows affected (0.05 sec) mysql> grant all privileges on *.* to 'root'@'%' with grant option; Query OK, 0 rows affected (0.04 sec) mysql> select host, user, authentication_string, plugin from user; +-----------+------------------+------------------------------------------------------------------------+-----------------------+ | host | user | authentication_string | plugin | +-----------+------------------+------------------------------------------------------------------------+-----------------------+ | % | root | *43CAAB27D90B4E33EC75DEEFA02577F7E2BACE93 | mysql_native_password | | localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | root | *611725B3AA4055897CDB648E55E0A0EA856389E2 | mysql_native_password | +-----------+------------------+------------------------------------------------------------------------+-----------------------+ 5 rows in set (0.00 sec) mysql> exit Bye
這就行了