天天看點

Linux安裝部署MySQL8.0

Linux安裝MySQL8.0

自已安裝完的備忘筆記,友善以後重新部署

1. 下載下傳MySQL

下載下傳位址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

Linux安裝部署MySQL8.0
Linux安裝部署MySQL8.0

選擇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
           
  • 設定編碼
  1. 檢視編碼
  1. 設定編碼

    編輯/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裡的提示資訊查詢哪裡出錯