官網(wǎng)下載二進(jìn)制壓縮包, 下載地址
下載好后急前,通過(guò)FTP傳到虛擬機(jī)
cd /usr/local/
tar -xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql-8.0.22
添加用戶組
groupadd mysql
useradd -r -g mysql mysql
進(jìn)入文件夾,添加data目錄
cd /usr/local/mysql-8.0.22
mkdir data tmp
chmod 777 ./data ./tmp
新建配置文件
cd support-files/
vim my-default.cnf
添加以下內(nèi)容
[mysqld]
basedir = /usr/local/mysql-8.0.22
datadir = /usr/local/mysql-8.0.22/data
port = 3306
socket = /usr/local/mysql-8.0.22/tmp/mysql.sock
lower_case_table_names=1
[client]
default-character-set=utf8
socket= /usr/local/mysql-8.0.22/tmp/mysql.sock
[mysql]
default-character-set=utf8
socket= /usr/local/mysql-8.0.22/tmp/mysql.sock
修改MySQL目錄為MySQL用戶
cd /usr/local/mysql-8.0.22/
chown -R mysql:mysql ./
切換到mysql-8.0.22目錄瀑构,初始化數(shù)據(jù)庫(kù)
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.22 --datadir=/usr/local/mysql-8.0.22/data
得到以下信息, root密碼為: hf7;jwsAOUr4
2020-11-17T15:55:35.313386Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.22/bin/mysqld (mysqld 8.0.22) initializing of server in progress as process 9854
2020-11-17T15:55:35.353782Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-11-17T15:55:37.125873Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-11-17T15:55:39.595056Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: hf7;jwsAOUr4
切換到support-files目錄
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig --list mysql (檢查是否啟動(dòng)成功)
啟動(dòng)
/etc/init.d/mysql start
/etc/init.d/mysql: line 239: my_print_defaults: command not found
/etc/init.d/mysql: line 259: cd: /usr/local/mysql: No such file or directory
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
復(fù)制一份配置到/etc目錄下
cp my-default.cnf /etc/my.cnf
chmod 664 /etc/my.cnf
繼續(xù)報(bào)錯(cuò)
[root@localhost mysql-8.0.22]# /etc/init.d/mysql start
Starting MySQL.Logging to '/usr/local/mysql-8.0.22/data/localhost.localdomain.err'.
ERROR! The server quit without updating PID file (/usr/local/mysql-8.0.22/data/localhost.localdomain.pid).
試過(guò)所有百度到的方法裆针,把mysql-8.0-22目錄改成mysql,并刪除/etc目錄下的my.cnf,再次啟動(dòng)卻成功了据块÷肓冢活見鬼!
鏈接MySQL另假,修改root密碼
ln -s /usr/local/mysql/bin/mysql /usr/bin
mysql -u root -p
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
查看MySQL依賴
[root@localhost bin]# ldd mysql
linux-vdso.so.1 (0x00007fff140e8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f16953ba000)
librt.so.1 => /lib64/librt.so.1 (0x00007f16951b1000)
libcrypto.so.1.1 => /usr/local/mysql/bin/./../lib/private/libcrypto.so.1.1 (0x00007f1694d00000)
libssl.so.1.1 => /usr/local/mysql/bin/./../lib/private/libssl.so.1.1 (0x00007f1694a70000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f169486c000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f1694655000)
libtinfo.so.5 => not found
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f16942c0000)
libm.so.6 => /lib64/libm.so.6 (0x00007f1693f3e000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f1693d26000)
libc.so.6 => /lib64/libc.so.6 (0x00007f1693964000)
/lib64/ld-linux-x86-64.so.2 (0x00007f16955da000)
安裝一個(gè)依賴
sudo dnf install ncurses.x86_64
結(jié)果還是不行像屋,拿個(gè)Fedoras的文件試試, 結(jié)果成功
sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
連接MySQL边篮,修改root密碼
alter user 'root'@'localhost' identified by 'root';(重置為root)
flush privileges;
use mysql
update user set host = '%' where user ='root';
flush privileges;