linux环境搭建mysql5.7总结

以下安装方式,在阿里云与腾讯云服务器上都测试可用。

一、进入到opt目录下,执行:

bash 复制代码
[root@master opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

解压:

bash 复制代码
[root@master opt]# tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

修改名字:

bash 复制代码
[root@master opt]# mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql-5.7.26

移动到/usr/local

bash 复制代码
[root@master opt]# mv mysql-5.7.26 /usr/local/

创建mysql用户组和用户:

bash 复制代码
[root@master opt]# groupadd mysql
[root@master opt]# useradd -r -g mysql mysql

进入/usr/local/mysql-5.7.26/目录下,创建一个/data/mysql目录

bash 复制代码
[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

对该目录进行授权设置:

bash 复制代码
[root@master opt]# chown mysql:mysql -R ../data/mysql/

设置vim /etc/my.cnf参数

bash 复制代码
[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目录,执行

bash 复制代码
[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

bash 复制代码
[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脚本------

bash 复制代码
[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 则表示设置开机启动成功。

相关推荐
重生之我在20年代敲代码3 分钟前
【Linux】初始线程
linux·运维·服务器
问道飞鱼14 分钟前
【Linux知识】Linux磁盘开机挂载
linux·运维·网络·磁盘·自动挂载
试试勇气32 分钟前
Linux学习笔记(八)--环境变量与进程地址空间
linux·笔记·学习
沐怡旸1 小时前
【底层机制】【Android】深入理解UI体系与绘制机制
android·面试
啊森要自信1 小时前
【GUI自动化测试】YAML 配置文件应用:从语法解析到 Python 读写
android·python·缓存·pytest·pip·dash
jiunian_cn1 小时前
【Linux】高级IO
java·linux·服务器
☆璇1 小时前
【Linux】网络基础概念
linux·网络
poemyang2 小时前
“一切皆文件”:揭秘LINUX I/O与虚拟内存的底层设计哲学
linux·rpc·i/o 模式
独行soc2 小时前
2025年渗透测试面试题总结-106(题目+回答)
网络·python·安全·web安全·adb·渗透测试·安全狮
大聪明-PLUS2 小时前
GPIO 也是一个接口,还有 QEMU GPIODEV 和 GUSE
linux·嵌入式·arm·smarc