天天看點

源碼安裝MySQL-8.0.16

部署MySQL

準備源碼包可到官網下載下傳

mysql源碼包官網下載下傳路徑

[[email protected] ~]# https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

1.解包

[[email protected] ~]# tar -xf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

MySQL依賴于libaio 庫。如果未在本地安裝此庫,則資料目錄初始化和後續伺服器啟動步驟将失敗。如有必要,請使用适當的包管理器進行安裝。例如,在基于Yum的系統上

[[email protected] ~]# yum -y install libaio

2.把目錄移到/usr/local/下并命名mysql

[[email protected] ~]# mv mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql

3.建立管理使用者

[[email protected] ~]# useradd -s /sbin/nologin mysql

[[email protected] ~]# chown -R mysql:mysql /usr/local/mysql

4.寫配置檔案/etc/my.cnf

如果有/etc/my.cnf 或/etc/mysql目錄,并删除它們。小編把它們移到root下

[[email protected] ~]# mv /etc/my.cnf /root/

[[email protected] ~]# mv /etc/mysql /root

建立檔案并進入

[[email protected] mysql]# vim /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
log-error=/var/lib/mysql/mysqld.log
pid-file=/var/lib/mysql/mysqld.pid
port=3306

           
  1. 初始化資料庫

    [[email protected] ~ ]# cd /usr/local/mysql

    [[email protected] mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql

6.讓mysqld程序可以使用systemctl 控制

[[email protected] ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

[[email protected] ~]# chkconfig --add mysqld

[[email protected] ~]# chkconfig mysqld on

7.檢測是否有程序(檢視是否有程序号3306)

[[email protected] ~]# systemctl start mysqld

[[email protected] ~]# netstat -nutlp | grep mysql

tcp6 0 0 :::33060 ::? LISTEN 2581/

mysqld

tcp6 0 0 :::

3306

::? LISTEN 2581/

mysqld

原諒我的懶惰,不想配圖

8.把/usr/local/mysql/bin下得檔案變成快速執行的,不然每次打源路經,麻煩

[[email protected] ~]# PATH=$PATH:/usr/local/mysql/bin/
[[email protected] ~]# echo PATH=$PATH:/usr/local/mysql/bin/ >> /etc/profile
           

9.登陸測試

[[email protected] mysql]# grep password /var/lib/mysql/mysqld.log

2019-05-19T10:49:37.215020Z 5 [Note] [MY-010454] [Server] A temporary password is generated for [email protected]:

Sd(Tjxodg7Vr

第一次登陸它會生成一個初始密碼。需要記好,可以在

/var/lib/mysql/mysqld.log

中找到

[[email protected] ~]# mysql -uroot -p'Sd(Tjxodg7Vr' 
  mysql> alter user  [email protected]'localhost' identified by "123456";
           

進去後需要把密碼改了,一是友善,二是不改密碼無法進行使用SQL指令