mysql 从入门到精通之 Linux环境安装mysql数据库

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 1、安装MySQL数据库
    • 1.1、 下载mysql安装包
    • 1.2、 上传并解压mysql安装包
    • 1.3、添加系统mysql用户组及用户
    • 1.4、 安装mysql数据库


1、安装MySQL数据库

1.1、 下载mysql安装包

(1)进入链接: mysql官网下载编译好的二进制安装包,在下载页面选择需要的版本(如果进入下载列表后始终只有Windows版本的安装包,可以安装XSkyWalker浏览器进行下载,XSkyWalker下载地址:https://www.jb51.net/softs/192435.html),如下图所示:
mysql 从入门到精通之 Linux环境安装mysql数据库_第1张图片

把页面拉到底部,64位系统下载Linux - Generic (glibc 2.5)(x86, 64-bit),32位系统下载Linux- Generic (glibc 2.5) (x86, 32-bit)
在这里插入图片描述

1.2、 上传并解压mysql安装包

我下载的是mysql-5.7.37-linux-glibc2.12-i686.tar.gz 版本,以下便已5.7.37 版本为例。

将下载的mysql安装包mysql-5.7.37-linux-glibc2.12-i686.tar.gz通过ftp工具上传到linux主机上(我这里上传到/usr/local/目录下)。进入安装包所在目录,执行命令:ttar -zxvf mysql-5.7.37-linux-glibc2.12-i686.tar.gz 解压安装包。
在这里插入图片描述

1.3、添加系统mysql用户组及用户

执行命令:
groupadd mysqluseradd -r -g mysql mysql
或者 只执行 useradd mysql ,此指令会自动添加于用户同名的组,并将此用户添加到这个组内
在这里插入图片描述

在这里插入图片描述

1.4、 安装mysql数据库

(1)执行命令: cd /usr/local 进入安装MySQL软件目录
在这里插入图片描述
2)执行命令: mv mysql-5.7.37-linux-glibc2.12-i686 mysql重命名解压后的文价夹为mysql

在这里插入图片描述
3)执行命令:cd mysql 进入mysql安装目录
在这里插入图片描述
(4)执行命令: chown -R mysql:mysql ./修改当前目录拥有者为mysql用户
mysql 从入门到精通之 Linux环境安装mysql数据库_第2张图片
(5)创建data文件夹,用于存放数据库表之类的数据mysql 从入门到精通之 Linux环境安装mysql数据库_第3张图片

(6)初始化 -安装依赖包
执行命令: yum install libaio
在这里插入图片描述
进行初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

进行mysql初始化时报错:

mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

mysql 从入门到精通之 Linux环境安装mysql数据库_第4张图片

根据错误执行 :yum install libnuma.so.1

yum -y install numactl
yum install libnuma
yum install ld-linux.so.2
yum install libaio.so.1
yum install libnuma.so.1
yum install libstdc++.so.6
yum install libtinfo.so.5

yum clean all
yum makecache
(7)查看密码
cat /data/mysql/mysql.err
文件结尾能看到临时的秘密
mysql 从入门到精通之 Linux环境安装mysql数据库_第5张图片
(8)启动mysql,并更改root 密码

先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

(9) 启动mysql服务
mysql 从入门到精通之 Linux环境安装mysql数据库_第6张图片

(10)登录mysql
在执行./mysql -u root -p 时报错,则根据错误将制定的依赖下载即可如图下:
在这里插入图片描述
mysql 从入门到精通之 Linux环境安装mysql数据库_第7张图片
(11)修改root 账号密码
再执行下面三步操作,然后重新登录。

SET PASSWORD = PASSWORD('root');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;                                 

mysql 从入门到精通之 Linux环境安装mysql数据库_第8张图片

这时候你如果使用远程连接……你会发现你无法连接。
mysql 从入门到精通之 Linux环境安装mysql数据库_第9张图片
(12)这里主要执行下面三个命令(先登录数据库)

use mysql                                            #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;                                    #刷新

mysql 从入门到精通之 Linux环境安装mysql数据库_第10张图片
mysql 从入门到精通之 Linux环境安装mysql数据库_第11张图片

如果此时还是无法访问的话:
可能是防火墙限制的端口
执行:

service iptables start/stop #命令
#执行如果报错:
Failed to start iptables.service: Unit iptables.service failed to load: No such file or directory.

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,

如果要添加范围例外端口 如 1000-2000
语法命令如下:启用区域端口和协议组合
firewall-cmd [–zone=] --add-port=[-]/ [–timeout=]
此举将启用端口和协议的组合。端口可以是一个单独的端口 或者是一个端口范围 - 。协议可以是 tcp 或 udp。
实际命令如下:
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent

重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
执行一下命令:

systemctl stop firewalld
systemctl mask firewalld

并且安装iptables-services:

yum install iptables-services

设置开机启动:

systemctl enable iptables
systemctl stop iptables
systemctl start iptables
systemctl restart iptables
systemctl reload iptables

保存设置:

service iptables save

OK,再试一下应该就好使了

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

你可能感兴趣的:(mysql,数据库,linux)