以下安装方式,在阿里云与腾讯云服务器上都测试可用。
一、进入到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 --list
-
- Note: This output shows SysV services only and does not include native
- systemd services. SysV configuration data might be overridden by native
- systemd 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 则表示设置开机启动成功。