1. 程式人生 > >centos中安裝mysql8.0,修改root密碼

centos中安裝mysql8.0,修改root密碼

自己想搭一個工廠,奈何阿里雲的rds太貴了,只好自己在自己的機器中安裝一個mysql,看到mysql中8已經發布了,就直接安裝最新的了;8中的修改root的密碼有點不太一樣;坑在這裡了;直接上命令

一、mysql8 的安裝

1、下載mysql8的壓縮包:

#] wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz

2、解壓安裝包到當前目錄:

#] tar -xf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz 

3、建立資料夾,並把解壓後的檔案copy到/usr/local/mysql目錄下,建立/usr/local/mysql/data目錄

#] mkdir /usr/local/mysql
#] cp mysql-8.0.12-linux-glibc2.12-x86_64/* /usr/local/mysql
#] mkdir /usr/local/mysql/data
#] chown -R mysql:mysql /usr/local/mysql/data

4、建立mysql使用者和群組

#] groupadd mysql
#] useradd mysql
#] useradd -g mysql mysql

5、執行初始化命令

#] /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

6、編輯/etc/my.cnf 檔案;在[mysqld]的內容新增這兩行

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

7、把啟動命令加入到系統服務service管理中;

#] cp support-files/mysql.server /etc/init.d/mysqld
#] chmod 755 /etc/init.d/mysqld

8、啟動mysql

#] service mysqld start

9、把mysql的命令新增到path中,修改/etc/profile檔案,在這個檔案的最後面新增一行

export PATH=$PATH:/usr/local/mysql/bin

   然後執行source /etc/profile,使path生效

source /etc/profile

注:如果看到 打印出來的日子為 【ok】,mysql啟動成功了;有可能報有一些資料夾沒有許可權,只需要把那些沒有許可權的資料夾改成功mysql:msyql 群組的就可以了

chown -R mysql:msyql 資料夾

安裝就到這個步驟;安裝就完成了;

二、下面就是修改密碼的一個部分了;(也是坑的地方)

       安裝啟動後,發現root的密碼不知道是什麼;所以就要手動修改密碼;

1、在/etc/my.cnf資料夾中的 [mysqld] 的後面新增skip-grant-tables;跳過登入許可權驗證;

[mysqld]
port=3306
user=mysql
socket=/tmp/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
# 新增跳過驗證(修改後重啟,修改完後刪除再重啟)
skip-grant-tables

    重啟msyql服務 (使修改的配置生效)

service mysqld restart

2、直接連線是資料 用(mysql -u root)直接連上資料庫:(如果還是報密碼錯誤,修改的配置檔案沒有生效,查詢是否修改錯誤,然後再次重啟服務);

mysql> use mysql;
     #先把密碼置為空字串;(不讓後面修改密碼會報錯)
mysql> use mysql;
mysql> update user set authentication_string="" where user="root";
     #這個重新整理非常有必要;不讓後面執行alter就會出錯
mysql> flush privileges;

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼';