Mysql5.7安裝
一、安裝前准備
前往MySQL官網下載對應的安裝包,下載頁面地址:
https://downloads.mysql.com/archives/community/
上面可以選擇相應操作系統和版本
除此之外,也可以直接通過 https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz地址直接在 Linux 服務器上下載:
content_copy
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
個人建議復制下載鏈接到迅雷上下載比較快
二、安裝
創建mysql用戶,會在/home下生成mysql用戶目錄
content_copy
useradd mysql
content_copy
cd /home/mysql
解壓
content_copy
tar -xvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
更改加壓后的文件名
content_copy
mv mysql-5.7.35-linux-glibc2.12-x86_64 mysql57
進入mysql57目錄
content_copy
cd /home/mysql/mysql57
創建目錄,用於后面數據存放
content_copy
mkdir data log conf
進入conf創建my.cnf,配置后以后就不使用/etc/my.cnf配置
content_copy
cd /home/mysql/mysql57/conf
vim my.cnf
content_copy
[client]
socket=/home/mysql/mysql57/mysql.sock
[mysqld]
port=3106 #端口自己定義
basedir=/home/mysql/mysql57
datadir=/home/mysql/mysql57/data
pid-file=/home/mysql/mysql57/mysql.pid
socket=/home/mysql/mysql57/mysql.sock
log_error=/home/mysql/mysql57/log/error.log
server-id=100
log_bin=/home/mysql/mysql57/binlog/mysql-bin
symbolic-links=0
init-connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
lower_case_table_names=1
[mysqld_safe]
log-error=/home/mysql/mysql57/log/error.log
pid-file=/home/mysql/mysql57/mysql.pid
修改mysql57權限為mysql
content_copy
chown -R mysql:mysql /home/mysql/mysql57
初始化Mysql
content_copy
cd /home/mysql/mysql57
./bin/mysqld --defaults-file=/home/mysql/mysql57/conf/my.cnf --initialize --user=mysql --basedir=/home/mysql/mysql57 --datadir=/home/mysql/mysql57/data
執行時出現
content_copy
./bin/mysqld: error while loading shared libraries: libaio.so.1:
直接執行以下命令完后再重新初始化
content_copy
yum install -y libaio
通過以下命令查看安裝日志
content_copy
tail -f /home/mysql/mysql57/log/error.log
日志出現
content_copy
2022-01-12T16:05:02.637084Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server op
tion (see documentation for more details).
mysqld: File '/home/mysql/mysql57/binlog/mysql-bin.index' not found (Errcode: 2 - No such file or directory)
2022-01-12T16:05:02.639335Z 0 [ERROR] Aborting
執行以下命令解決
content_copy
mkdir -p /home/mysql/mysql57/binlog/
touch /home/mysql/mysql57/binlog/mysql-bin.index
chown -R mysql:mysql /home/mysql/mysql57
再次查看error.log日子,出現以下日志則初始化成功
content_copy
tail -f /home/mysql/mysql57/log/error.log
2022-01-12T16:09:23.590301Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-01-12T16:09:24.467539Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-01-12T16:09:24.579078Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-01-12T16:09:24.646209Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 029eec3a-73c2-11ec-a7dd-00163e149163.
2022-01-12T16:09:24.647937Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-01-12T16:09:25.358771Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2022-01-12T16:09:25.358784Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2022-01-12T16:09:25.359461Z 0 [Warning] CA certificate ca.pem is self signed.
2022-01-12T16:09:25.895400Z 1 [Note] A temporary password is generated for root@localhost: Yk4F=m&ZGDk+
三、啟動Mysql Server
content_copy
./bin/mysqld_safe --defaults-file=/home/mysql/mysql57/conf/my.cnf --user=mysql &
期間提示(廢棄)
content_copy
2022-01-13T13:52:27.555079Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
解決方法(廢棄)
content_copy
mkdir -p /var/log/mariadb/
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
期間提示(廢棄)
content_copy
2022-01-13T13:53:46.919209Z mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
解決方法(廢棄)
content_copy
/var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
期間提示(廢棄)
content_copy
2022-01-13T14:00:42.003092Z mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
解決方法(廢棄)
content_copy
mkdir /var/log/mariadbmkdir /var/run/mariadbchown
chown -R mysql:mysql /var/log/mariadbmkdir
chown -R mysql:mysql /var/run/mariadbchown
四、登錄與授權
登錄
content_copy
./bin/mysql --defaults-file=/home/mysql/mysql57/conf/my.cnf -uroot -p
這里密碼,就是安裝時初始化打印在日志上Yk4F=m&ZGDk+
設置新密碼
content_copy
alter user user() identified by "密碼";
配置遠程訪問
content_copy
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'new_pass_word' WITH GRANT OPTION;
這里的%可以配置成你允許訪問的IP,這里配置%為所有主機都可以訪問
刷新配置生效
content_copy
FLUSH PRIVILEGES;
這里全部操作完成