centos中安裝mysql8.0,修改root密碼
阿新 • • 發佈:2019-01-03
自己想搭一個工廠,奈何阿里雲的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 '密碼';