Linux安裝MySQL8.0
自已安裝完的備忘筆記,友善以後重新部署
1. 下載下傳MySQL
下載下傳位址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

選擇64位下載下傳,上傳到伺服器
或者直接在Linux上用wget下載下傳
[[email protected] ~]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
2. 解壓
CD到上傳或者下載下傳路徑下解壓壓縮包并且移動到/usr/local/mysql下
[[email protected] ~]# tar -zxvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
[[email protected] ~]# mv mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql
注意解壓的位置和檔案版本的名字,有可能版本更新名字變化,自己改一下
3. 安裝配置和建立mysql使用者組和使用者并修改權限
MySQL依賴libaio庫
[[email protected] ~]# yum install libaio
建立mysql使用者組和使用者并修改權限
不需要登入的一個系統賬号,啟動MySQL服務時會使用該賬号
[[email protected] ~]# groupadd mysql //建立mysql使用者
[[email protected] ~]# useradd -r -g mysql mysql //給mysql使用者讀寫權限
[[email protected] ~]# cd /usr/local/mysql
[[email protected] mysql]# chown -R mysql:mysql ./ //給mysql使用者此檔案夾下的權限
配置my.cnf
[mysqld]
port=3306
其他不用填用預設可以了
儲存到路徑
/etc/my.cnf
4. mysql初始化操作
[[email protected] ~]# cd /usr/local/mysql/bin/
[[email protected] bin]# ./mysqld --initialize-insecure --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/--user=mysql
# 初始化報錯,請執行以下指令,檢視是否安裝齊全
yum search libaio
yum install libaio
yum -y install numactl
yum install libnuma
yum install ld-linux.so.2
yum install libaio.so.1
yum install libnuma.so.1
yum install libstdc++.so.6
yum install libtinfo.so.5
mysqld –initialize-insecure自動生成無密碼的root使用者,
mysqld –initialize自動生成帶随機密碼的root使用者。
檢視密碼
一般在datadir=/usr/local/mysql/data/路徑下的err裡面有記錄,但我用的是無密碼初始化所有沒有密碼直接登入
5. 啟動mysql,并更改root 密碼,開啟遠端
啟動mysql
[[email protected] ~]# cp /usr/local/mysql/
[[email protected] mysql]#./support-files/mysql.server start
修改初始密碼
[[email protected] ~]# mysql -uroot -p
Enter password: //這裡輸入剛剛初始化操作時的初始密碼,沒有密碼直接回車
mysql> alter user 'root'@'localhost' identified by '你的新密碼';
Query OK, 0 rows affected (0.02 sec)
mysql>use mysql ; //通路mysql庫
#設定允許遠端登入
mysql> update user set user.Host='%' where user.User='root';
mysql> FLUSH PRIVILEGES; //重新整理MySQL的系統權限相關表
8.0以前的版本修改密碼和遠端指令
#更改加密方式
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVEER;
Query OK, 0 rows affected (0.01 sec)
#更新使用者密碼
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
**至此mysql就安裝成功了 **
- 部署完畢記得3306端口開防火牆或者添加安全組之類的
99. 其他指令
- 停止mysql
[[email protected] mysql]# ./support-files/mysql.server stop
- 重新開機mysql
[[email protected] mysql]# ./support-files/mysql.server restart
- 設定編碼
- 檢視編碼
-
設定編碼
編輯/etc/my.cnf
[mysqld]
character_set_server=utf8
init-connect='SET NAMES utf8'
- 删除mysql
[[email protected] ~]# rpm -qa|grep mariadb //檢查mariadb
[[email protected] ~]# rpm -qa|grep mysql //檢查有哪些mysql
[[email protected] ~]# rpm -e --nodeps 删除的名字
基本上就這樣,有差異基本不大,出錯誤看看ERR裡的提示資訊查詢哪裡出錯