自学内容网 自学内容网

使用tar包下载安装mysql

1.官网下载mysql

MySQL :: Download MySQL Community Server (Archived Versions)icon-default.png?t=O83Ahttps://downloads.mysql.com/archives/community/

 2.上传到服务器解压

解压tar包

tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

 

将解压后的包改名为mysql,这样更加简易(也可不改)

 将/opt下的mysql包移动到/usr/local/

 

3. 添加用户

先检查是否有mysql用户组和mysql用户,没有就添加有就忽略:

groups mysql 

 添加用户组和用户

groupadd mysql && useradd -r -g mysql mysql

4.创建数据目录并赋予权限

此为mysql存放数据地方,可设置内存较多的磁盘

mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql

 5.修改配置文件 

vim /etc/my.cnf (没有就新建)

[mysqld]
#skip-grant-tables
lower_case_table_names=1
bind-address = 0.0.0.0
port=3306
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
symbolic-links=0
character_set_server=utf8mb4

这个MySQL配置文件(通常位于my.cnfmy.ini文件中,具体取决于操作系统)包含了多个关键的设置,用于控制MySQL服务器的行为。下面是对这些设置的解释:

  1. #skip-grant-tables: 这一行被注释掉了(因为它前面有一个#号),意味着这个选项没有被启用。skip-grant-tables选项通常用于紧急情况,允许任何用户无需密码即可连接到MySQL服务器,但这会禁用所有的权限检查。由于安全风险,通常不建议在生产环境中使用。

  2. lower_case_table_names=1: 这个设置指定了MySQL在存储表名时应如何区分大小写。设置为1时,MySQL在Linux系统上也会将表名以小写形式存储在磁盘上,并且查询时不区分大小写。这对于跨平台的数据库迁移非常有用,因为Windows系统默认不区分大小写,而Linux系统默认区分。

  3. bind-address = 0.0.0.0: 这个设置允许MySQL服务器监听所有IPv4地址上的连接。这意呀着MySQL可以接受来自任何IP地址的连接请求,这在需要将MySQL服务器设置为可从远程访问时非常有用。但请注意,出于安全考虑,应确保通过防火墙规则或MySQL的user表中的权限设置来限制哪些IP地址可以访问MySQL服务器。

  4. port=3306: 这个设置指定了MySQL服务器监听的端口号。默认情况下,MySQL服务器使用3306端口。如果需要更改此端口号,可以在这里进行设置。

  5. basedir=/usr/local/mysql: 这个设置指定了MySQL安装的基础目录。MySQL服务器会从这个目录加载其可执行文件和库文件。

  6. datadir=/data/mysql: 这个设置指定了MySQL数据文件的存储目录。所有的数据库、表和其他相关数据都将存储在这个目录下。

  7. socket=/tmp/mysql.sock: 当MySQL客户端和服务器在同一台机器上运行时,它们可以通过UNIX域套接字进行通信,而不是通过网络套接字。这个设置指定了套接字的路径。

  8. log-error=/data/mysql/mysql.err: 这个设置指定了MySQL服务器错误日志文件的路径。如果服务器在运行时遇到错误,错误信息将被写入这个文件中。

  9. pid-file=/data/mysql/mysql.pid: 这个设置指定了MySQL服务器进程ID(PID)文件的路径。该文件包含了MySQL服务器主进程的ID,可以用来监控或杀死MySQL服务器进程。

  10. symbolic-links=0: 这个设置禁用了MySQL服务器中的符号链接。由于安全原因,通常不建议使用符号链接。

  11. character_set_server=utf8mb4: 这个设置指定了MySQL服务器的默认字符集为utf8mb4utf8mb4utf8的超集,支持更多的Unicode字符,包括一些特殊的表情符号(emoji)。使用utf8mb4可以确保数据库能够存储和处理更广泛的字符集。

 

6. 初始化

解压后的mysql-5.7.44-linux-glibc2.12-x86_64移动到/usr/local/mysql (文件夹名称修改为mysql不带版本号信息)

移动后初始化mysql

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

 

7.启动mysql

进入到启动mysql的目录下

cd /usr/local/mysql/support-files/
./mysql.server start

 8.查看密码

cat /data/mysql/mysql.err

 这里可以看到临时密码

 9.修改密码

./mysql -u root -p

输入临时密码登录登录

修改密码为1234 

ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';

 刷新

FLUSH PRIVILEGES;

 

查看发现只有本地可访问,修改可访问的主机为所有

update mysql.user set host = '%' where user ='root';

再次查看发现修改成功,同时刷新

FLUSH PRIVILEGES;

10.报错

如果连接mysql报错

 可以使用命令查看错误,可见有的为空

ldd /usr/local/mysql/bin/mysql

使用命令在系统搜素是否有

find / -name 'libtinfo*' 

可以使用链接

ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5

 若还有其他类似的报错,一样的链接即可,直到ldd /usr/local/mysql/bin/mysql查看没有为空或者有错误的,即可


原文地址:https://blog.csdn.net/wang20010104/article/details/142485238

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!