1、安裝前工作
在安裝前需要確定現在這個系統有沒有 mysql,如果有那么必須卸載 (在 centos7 自帶的是 mariaDb 數據庫,所以第一步是卸載數據庫)。
#查看mariadb數據庫:rpm -qa | grep mariadb
#卸載mariadb數據庫:rpm -e --nodeps mariadb文件名
#查看 mysql 數據庫:rpm -qa | grep -i mysql
#卸載 mysql 數據庫:rpm -e mysql文件名 # 如果有關聯文件,不能直接卸載。可以用一下命令強制卸載:rpm -e --nodeps mysql文件名)
#刪除etc目錄下的my.cnf文件:rm /etc/my.cnf
2、官網下載
下載成功之后,上傳到雲服務
3、解壓到/usr/local下面
解壓命令:tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
4、添加mysql用戶組和用戶
#首先檢查mysql用戶和組是否存在
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
#添加mysql用戶和組
groupadd mysql
useradd -r -g mysql mysql
5、初始化mysql配置表
# chown -R mysql:mysql ./ 修改當前目錄為mysql用戶
#./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64 --datadir=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/data
初始化數據庫
# 如果出現如圖所示錯誤,則說明這是缺少numactl,這個時候如果是Centos就yum -y install numactl就可以解決,然后重新運行上面的initialize命令
# 再次執行,注意下圖中initialize成功,會出現一個隨機密碼
#修改當前用戶為root用戶 chown -R root:root ./
#修改當前的data目錄為mysql用戶 chown -R mysql:mysql data/
cd support-files/
touch my-default.cnf
cp ./my-default.cnf /etc/my.cnf
mkdir tmp
chmod 777 ./tmp/
修改/etc/my.cnf配置文件
[mysqld]
basedir=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64
datadir=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/data
port=3306
socket=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/tmp/mysql.socket
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
6、加入開機啟動項
#copy
#增加執行權限
#注冊啟動服務
#查看是否添加成功
cp mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cd ..
chkconfig --add mysqld
#啟動服務
cd support-files/
./mysql.server start --user=mysql
7、配置環境變量
# vi /etc/profile
export PATH=$PATH:/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/bin:/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/lib
# 保存退出之后 執行source /etc/profile讓文件生效
8、登錄並修改初始密碼
# 建立軟鏈接 ln -s /usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/tmp/mysql.socket /tmp/mysql.sock
# 登錄mysql,密碼是剛剛生成的
,修改密碼 alter user 'root'@'localhost' identified by '123456';
9, 授權用戶:任意主機以用戶root和密碼mypwd連接到mysql服務器
# 查詢user和host,並將host改成‘%’ select user,host from user;
# update user set host = '%' where user = 'root';
# flush privileges;
# 經過以上步驟如果還連不上,可以試試以下方式,重置以下密碼
# ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';