原始碼安裝MySQL 8 0 16

2021-09-26 09:41:42 字數 3151 閱讀 1372

原始碼安裝mysql-8.0.16

[root@nginx ~]#

1.解包

[root@nginx ~]# tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
mysql依賴於libaio 庫。如果未在本地安裝此庫,則資料目錄初始化和後續伺服器啟動步驟將失敗。如有必要,請使用適當的包管理器進行安裝。例如,在基於yum的系統上

[root@nginx ~]# yum -y install libaio
2.把目錄移到/usr/local/下並命名mysql

``[root@nginx ~]# mv mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql

3.建立管理使用者

[root@nginx ~]# useradd -s /sbin/nologin mysql

[root@nginx ~]# chown -r mysql:mysql /usr/local/mysql

4.寫配置檔案/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

5.初始化資料庫

[root@nginx ~ ]# cd /usr/local/mysql

[root@nginx mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql

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

[root@nginx ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@nginx ~]# chkconfig --add mysqld

[root@nginx ~]# chkconfig mysqld on

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

[root@nginx ~]# systemctl start mysqld

[root@nginx ~]# netstat -nutlp | grep mysql

tcp6 0 0 :::33060 ::? listen 2581/mysqld

tcp6 0 0 :::3306 ::? listen 2581/mysqld

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

[root@nginx ~]# echo path=$path:/usr/local/mysql/bin/ >> /etc/profile
9.登陸測試

1、解決bash: mysql: command not found 的方法

[root@db-02 ~]# mysql -u root

-bash: mysql: command not found

原因:這是由於系統缺省會查詢/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是對映乙個鏈結到/usr/bin目錄下,相當於建立乙個鏈結檔案。

首先得知道mysql命令或mysqladmin命令的完整路徑,比如mysql的路徑是:/usr/local/mysql/bin/mysql,我們則可以這樣執行命令:

# ln -s /usr/local/mysql/bin/mysql /usr/bin
mysql command not found
遇上-bash: mysql: command not found的情況別著急,這個是因為/usr/local/bin目錄下缺失mysql導致,只需要一下方法建立軟鏈結,即可以解決:

把mysql安裝目錄,比如mysqlpath/bin/mysql,對映到/usr/local/bin目錄下:

# cd /usr/local/bin

# ln -fs /mysqlpath/bin/mysql mysql

還有其它常用命令mysqladmin、mysqldump等不可用時候都可按用此方法解決。

注:其中mysqlpath是mysql的實際安裝路徑.

2、mysqldump命令找不到

[root@host-10-1-1-103 data]# whereis mysql

mysql: /usr/bin/mysql /usr/lib64/mysql /usr/local/mysql /usr/share/mysql

[root@host-10-1-1-103 data]# ln -fs /usr/local/mysql/bin/mysqldump /usr/bin

第一次登陸它會生成乙個初始密碼。需要記好,可以在/var/lib/mysql/mysqld.log中找到

[root@mysql1 mysql]# grep password /var/lib/mysql/mysqld.log

2019-08-22t09:28:39.023492z 5 [note] [my-010454] [server] a temporary password is generated for root@localhost: ;%d%nizcy0:0

[root@nginx ~]# mysql -uroot -p';%d%nizcy0:0'

進去後需要把密碼改了,一是方便,二是不改密碼無法進行使用sql命令

mysql> alter user  root@'localhost' identified by "123456";

Mysql8 0 16安裝教程 九歌

tar xvf mysql 8.0.16 linux glibc2.12 x86 64.tar.xzmkdir usr local mysql mkdir usr local mysql data mv mysql 8.0.16 linux glibc2.12 x86 64 usr local my...

mysql 8 0 16忘記密碼

親測有效,但是有重要資料檔案的,慎重!我的my.ini沒有動 mysql mysqld port 3306 basedir d mysql 8.0.16 winx64 datadir d mysql 8.0.16 winx64 data max connections 20 character se...

MySQL 8 0 16 初次配置

以管理員許可權開啟cmd,進入到mysql解壓後的目錄,進入到bin中 執行 mysqld initialize console 螢幕上出現的提示中,會包含root的臨時密碼,下面用root賬號登入時要使用這個臨時密碼,如 2019 07 20t08 43 08.847893z 5 note my ...