Centos7.2安裝mysql8
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';
在安裝前需要確定現在這個系統有沒有 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';