以下安装方式,在阿里云与腾讯云服务器上都测试可用。
一、进入到opt目录下,执行:
[root@master opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
解压:
[root@master opt]# tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
修改名字:
[root@master opt]# mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql-5.7.26
移动到/usr/local
[root@master opt]# mv mysql-5.7.26 /usr/local/
创建mysql用户组和用户:
[root@master opt]# groupadd mysql
[root@master opt]# useradd -r -g mysql mysql
进入/usr/local/mysql-5.7.26/目录下,创建一个/data/mysql目录
[root@master opt]# cd /usr/local/mysql-5.7.26/
[root@master opt]# mkdir data
[root@master opt]# cd data/
[root@master opt]# mkdir mysql
对该目录进行授权设置:
[root@master opt]# chown mysql:mysql -R ../data/mysql/
设置vim /etc/my.cnf参数
[mysqld]
bind-address=xxx.xxx.xxx.xxx
port=3306
user=mysql
basedir=/usr/local/mysql-5.7.26
datadir=/usr/local/mysql-5.7.26/data/mysql
socket=/tmp/mysql.sock
log-error=/usr/local/mysql-5.7.26/data/mysql/mysql.err
pid-file=/usr/local/mysql-5.7.26/data/mysql/mysql.pid
#character config
character_set_server=utf8
symbolic-links=0[client]
socket=/tmp/mysql.sock
初始化mysql:
进入到/usr/local/mysql-5.7.26/bin目录,执行
[root@master opt]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.26/ --datadir=/usr/local/mysql-5.7.26/data/mysql/ --user=mysql --initialize
获取初始化生成的密码:zuN4F%E)R!q3
[root@master bin]# cat /usr/local/mysql-5.7.26/data/mysql/mysql.err
2021-10-20T08:09:00.331096Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-10-20T08:09:01.371244Z 0 [Warning] InnoDB: New log files created, LSN=45790
2021-10-20T08:09:01.495582Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-10-20T08:09:01.557026Z 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: fc058b1f-317c-11ec-adb1-00163e061e0a.
2021-10-20T08:09:01.558519Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-10-20T08:09:01.558927Z 1 [Note] A temporary password is generated for root@localhost: zuN4F%E)R!q3
先进入/usr/local/mysql-5.7.26/support-files目录,看到有mysql.server脚本——
[root@master mysql-5.7.26]# pwd
/usr/local/mysql-5.7.26
[root@master mysql-5.7.26]# ll
total 56
drwxr-xr-x 2 root root 4096 Oct 20 15:59 bin
-rw-r--r-- 1 7161 31415 17987 Apr 13 2019 COPYING
drwxr-xr-x 3 root root 4096 Oct 20 15:29 data
drwxr-xr-x 2 root root 4096 Oct 20 15:27 docs
drwxr-xr-x 3 root root 4096 Oct 20 15:27 include
drwxr-xr-x 5 root root 4096 Oct 20 15:27 lib
drwxr-xr-x 4 root root 4096 Oct 20 15:27 man
-rw-r--r-- 1 7161 31415 2478 Apr 13 2019 README
drwxr-xr-x 28 root root 4096 Oct 20 15:27 share
drwxr-xr-x 2 root root 4096 Oct 20 15:27 support-files
[root@master mysql-5.7.26]# cd support-files/
[root@master support-files]# ll
total 24
-rw-r--r-- 1 7161 31415 773 Apr 13 2019 magic
-rwxr-xr-x 1 7161 31415 1061 Apr 13 2019 mysqld_multi.server
-rwxr-xr-x 1 7161 31415 894 Apr 13 2019 mysql-log-rotate
-rwxr-xr-x 1 7161 31415 10576 Apr 13 2019 mysql.server
启动执行:
[root@master support-files]# ./mysql.server start
Starting MySQL. [ OK ]
然后切换到/usr/local/mysql-5.7.26/bin目录,执行进入mysql的指令:
[root@master bin]# ./mysql -u root -p
最后,就是修改密码操作了:
mysql> SET PASSWORD = PASSWORD('xxx');
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> ALTER USER 'xxx'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
设置远程访问:
mysql> grant all on *.* to xxx@'%' identified by 'xxx' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
设置开机启动:
先将/usr/local/mysql-5.7.26/support-files/ 文件夹下的mysql.server文件复制到 /etc/rc.d/init.d/ 目录下
[root@master init.d]# cp /usr/local/mysql-5.7.26/support-files/mysql.server /etc/rc.d/init.d/
[root@master init.d]# ll
total 40
-rwxr-xr-x 1 root root 2415 Jun 30 21:19 aegis
-rw-r--r--. 1 root root 18434 Jul 24 2020 functions
lrwxrwxrwx 1 root root 35 Aug 10 11:14 jexec -> /usr/java/latest/.java/init.d/jexec
-rwxr-xr-x 1 root root 10576 Oct 20 16:23 mysql.server
-rw-r--r--. 1 root root 1161 Mar 23 2021 README
将mysql.server修改为mysqld
[root@master init.d]# mv mysql.server mysqld
添加为服务: chkconfig --add mysqld
查看服务列表: chkconfig --list
[root@master init.d]# chkconfig --listNote: This output shows SysV services only and does not include nativesystemd services. SysV configuration data might be overridden by nativesystemd configuration.If you want to list systemd services use 'systemctl list-unit-files'.To see services enabled on particular target use'systemctl list-dependencies [target]'.aegis 0:off 1:off 2:on 3:on 4:on 5:on 6:off
jexec 0:off 1:on 2:on 3:on 4:on 5:on 6:off
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3、4、5状态为 on 则表示设置开机启动成功。