1. 程式人生 > >Centos7.2安裝mysql8

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';