參考: https://www.cnblogs.com/warmsmile/p/10210739.htmlhtml
https://www.cnblogs.com/yg_zhang/p/10424926.htmlnode
1.刪除自帶的mysqlmysql
rpm -qa | grep mysql
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64linux
rpm -qa | grep mariadb
#### mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64sql
2.下載tar包 vim
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.16-linux-glibc2.12-x86_64.tarsession
3.解壓tar包socket
注意這裏是*.tar文件,解壓時和*.tar.gz包有所區別,須要解壓兩次 第一次解壓出*.tar.xz,在解壓*.tar.xzide
tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar工具
tar xvJf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
若是報錯以下,安裝xz,在解壓就正常了
yum -y install xz
vim /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql/mysql.sock
basedir=/data/mysql-8.0.16
datadir=/data/mysql-8.0.16/data
log-error=error.log
transaction_isolation = READ-COMMITTED
character-set-server = utf8mb4
#collation-server = utf8mb4_general_ci
collation-server = utf8mb4_bin
lower_case_table_names = 1
#skip-grant-tables
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
#user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/tmp/mysql/log/mysqld.log
pid-file=/tmp/mysql/run/mysqld/mysqld.pid
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
groupadd mysql
useradd -g mysql mysql
mkdir -p /tmp/mysql/log
touch /tmp/mysql/log/mysqld.log
chown -R mysql:mysql /tmp/mysql
chown -R mysql:mysql /data/mysql-8.0.16
chmod -R 755 /tmp/mysql /data/mysql-8.0.16
# chown -R root:root /tmp/mysql
# chown -R root:root /data/mysql-8.0.16
# chmod -R 755 /tmp/mysql /data/mysql-8.0.16
./bin/mysqld --initialize --user=mysql --basedir=/data/mysql-8.0.16/ --datadir=/data/mysql-8.0.16/data/
報錯解決,安裝依賴
yum install -y libaio
還有報錯,安裝依賴
yum -y install numactl
在執行初始化,成功
啓動 mysql
cp /data/mysql/support-files/mysql.server /etc/init.d/mysql
# ./support-files/mysql.server start
service mysql start
# service mysqld start
7.初始化密碼
初始化時並無出現 初始密碼,所以須要使用免密碼登錄,修改密碼。
配置 skip-grant-tables,可使用免密碼登陸(正式環境需禁用)
mysql -u root -p 回車,不輸入密碼再回車
1.清空密碼
use mysql;
update user set authentication_string='' where user='root';
2.退出以後禁用免密碼登錄 ,註釋 skip-grant-tables,去掉此配置
3.空密碼登陸,在第一部清空了密碼
mysql -u root -p
輸入密碼是直接回車。
修改密碼以下,免密碼登沒法執行修改
ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
遠程鏈接設置:
新版的的mysql版本已經將建立帳戶和賦予權限的方式分開了
一、建立帳戶 create user 'root'@'%' identified by '$$123456' ;
二、賦予權限 grant all privileges on *.* to 'root' @'%' ;
三、刷新權限 flush privileges ;
使用navicat視圖工具鏈接報錯解決:
mysql8 以前的版本中加密規則是mysql_native_password,
而在mysql8以後,加密規則是caching_sha2_password,
解決問題方法有兩種,
第一種是升級navicat驅動,
第二種是把mysql用戶登陸密碼加密規則還原成mysql_native_password.
這裏使用第二種方式實現:
ALTER USER 'root'@'%' IDENTIFIED BY '$$123456' PASSWORD EXPIRE NEVER; #修改加密規則
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '$$123456'; #更新一下用戶的密碼
FLUSH PRIVILEGES; #刷新權限
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '$$123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.02 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$$123456';
Query OK, 0 rows affected (0.02 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> select host, user, authentication_string, plugin from user ;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host | user | authentication_string | plugin |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| % | root | $A$005$i?Iex(2/2O!YOM?jyuiWZ2I0CI1H15d5GFB6fvgC/3UvjcEIxvNZDOy/UE2 | caching_sha2_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 | *F0D06DBF9E3EAF787BAEA71C2EAC5540B0218A2B | mysql_native_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
5 rows in set (0.00 sec)
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '$$123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.08 sec)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '$$123456';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> select host, user, authentication_string, plugin from user ;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host | user | authentication_string | plugin |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| % | root | *F0D06DBF9E3EAF787BAEA71C2EAC5540B0218A2B | 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 | *F0D06DBF9E3EAF787BAEA71C2EAC5540B0218A2B | mysql_native_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
5 rows in set (0.00 sec)
mysql>
至此,安裝完成