Linux服务器安装mysql5.7

首先通过 xshell 或者 MobaXterm 远程进入Linux 命令行操作界面。

1.MobaXterm的安装

https://developmenttools.oss-cn-hangzhou.aliyuncs.com/workTools/MobaXterm.rar?Expires=1677466928&OSSAccessKeyId=TMP.3Kfdzi7RM3KwaaMa1wyFNGmUvqf5zYxAq9DgjtJfwacnxNQuWWNe5ejCfjnkqxufAYuF79WXpcmYA1vyuuLg8DjgMtUS9k&Signature=EqBQJ2EY88dTPwY%2ByvRp20Wo8ew%3D

【1】查看是否已经安装 Mysql

rpm -qa | grep mysql

下面是我的操作

如果你查看出来有东西,可以使用下面命令将其删除(xxx 为文件全名),如果没有安装 Mysql,那么直接进入【2】

rpm -e xxx

2.下载 Mysql 包

2. 1下载官方mysql ,选择对应的包 如下5.7包

https://downloads.mysql.com/archives/community/

或者使用我提供的链接:

链接:https://pan.baidu.com/s/1YLE3X1JE6_JHnL0IsA4MRA 
提取码:5ydb

2. 1上传解压(解压后可删除安装包,节省空间)

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

2. 3直接使用wget下载mysql包

先查看是否有wget命令

rpm -qa|grep "wget"

如果没有则直接安装

yum install -y wget

安装完成wget后,开始下载mysql包

sudo wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

解压完成后把mysql-5.7.24-linux-glibc2.12-x86_64移动到/usr/local下面,并且改名为mysql

mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local
mv mysql-5.7.24-linux-glibc2.12-x86_64  mysql

3.在/usr/local/mysql目录下创建data目录

mkdir /usr/local/mysql/data

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

groups mysql 

创建mysql用户组和用户并修改权限

groupadd mysql && useradd -r -g mysql mysql

更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

5. 编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)

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

需要记住这个密码,后面需要对密码进行重置

6.修改配置文件 vim /etc/my.cnf (没有就新建)

[mysqld]
datadir=/usr/local/mysql/data
port=3306
socket = /var/lib/mysql/mysql.sock
sql_mode=NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8
explicit_defaults_for_timestamp=true
[mysqld_safe]
log-error=/usr/local/mysql/log/mariadb.log
pid-file=/usr/local/mysql/log/mariadb.pid

mysqld_safe是服务端工具,用于启动mysqld,它是mysqld的守护进程

参数解释:

  • lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效

  • character_set_server:设置数据库默认字符集,如果不设置默认为latin1

  • innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别

  • log-error:进程错误日志

  • pid-file:启动mysql后生成的进程id

7.启动mysql

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

若报错:

Starting MySQL.2023-02-27T06:16:50.294644Z mysqld_safe error: log-error set to '/usr/local/mysql/log/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

检查发现整体my.cnf的配置没有什么问题,然后一直启动失败,最后发现是mysqld_safe 配置的日志目录并没有创建

[mysqld_safe]
log-error=/usr/local/mysql/log/mariadb.log
pid-file=/usr/local/mysql/log/mariadb.pid

所以直接创建授权

说明:我这里配置的log-error的路径是在/usr/local/mysql/log 底下,创建的路径根据自己的实际路径来配置,注意一定也别忘了创建mariadb.log,要不然还是会报错

mkdir /usr/local/mysql/log  
touch /usr/local/mysql/log/mariadb.log

mysql 用户和用户对目录进行授权

chown -R mysql:mysql /usr/local/mysql/log

重新执行步骤7

8.添加软连接,并重启mysql服务

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart

9.登录mysql,修改密码

密码是之前生成的让记录下来的

 mysql -u root -p

若登录时报:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

解决方法:[修改相应的路径 vim /etc/my.cnf]

添加下面这段:

port=3306
socket = /var/lib/mysql/mysql.sock

若:

mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
“var/lib/mysql”目录不存在,首要先创建:
mkdir /var/lib/mysql
mkdir  /var/lib/mysql
chmod 777  /var/lib/mysql   #付予写入权限或者最大权限

再次登陆成功

10.密码修改

set password for root@localhost = password('root');

11.开放远程连接

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

12.设置开机启动

12.1、将服务文件拷贝到init.d下,并重命名为mysql

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

12.2、赋予可执行权限

 chmod +x /etc/init.d/mysqld

12.3、添加服务

chkconfig --add mysqld

12.4、显示服务列表

chkconfig --list

现在mysql就已经完全安装成功了,可以重新退出,再进去看看密码是否修改成功

看到3、4、5状态为开或者为 on 则表示成功。 如果是 关或者 off 则执行一下:

chkconfig --level 345 mysqld on

重启计算机:

reboot

其他操作:

修改密码

1. 开启免密码登陆 修改my.cnf文件 默认在/etc/my.cnf。

 vim /etc/my.cnf         在【mysqld】模块下面添加:skip-grant-tables 保存退出。

2. 重启服务,使配置生效 。

 service mysql restart

3. 登陆

/usr/local/mysql/bin/mysql -u root -p   //不输入密码直接敲回车键

4. 刷新规则允许外部访问

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

5.修改密码

ALTER USER "root"@"%" IDENTIFIED  BY "1234";
FLUSH PRIVILEGES;       #刷新 

6. 退出 quit

把/etc/my.cnf免密删掉。

重启服务 service mysql restart

7. 登陆 /usr/local/mysql/bin/mysql -u root -p //输入刚修改的密码1234敲回车键

用户权限之创建新用户并给授权指定的数据库权限

创建mysql新用户

CREATE USER 'test'@'%' IDENTIFIED BY '123';

备注上面@后的命令解释

'%' - 所有情况都能访问

‘localhost’ - 本机才能访问

’111.222.33.44‘ - 指定 ip 才能访问

3.给用户授予权限

grant all on 数据库名.数据库表 to 用户名@'%' identified by "密码";

备注

all 可以替换为 select,delete,update,create,drop

数据库名 所有的 用*

数据库表 所有的 用*

如果是阿里云ECS,记得查看云安全组规则是否开放了3306端口,如果没有,记得加上

查看磁盘空间 df -h

du -ah --max-depth=1

Linux中删除文件夹中所有文件或子文件夹​​​​​​​

rm -rf 文件夹
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值