Linux安装MySQL5.7

15 篇文章 1 订阅

下载地址:MySQL :: Download MySQL Community Server

链接:https://pan.baidu.com/s/1DcpAt5qivEkfCPE-9ur3MQ 
提取码:g56a 

 上传到linux 

解压

tar -xvf mysql-5.7.35-linux-glibc2.12-x86_64.tar 

再移动并重命名一下

mv mysql-5.7.35-linux-glibc2.12-x86_64  /usr/local/mysql

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

groupadd mysql

useradd -r -g mysql mysql

创建数据目录并赋予权限

mkdir -p  /data/mysql              #创建目录
chown mysql:mysql -R /data/mysql   #赋予权限

配置my.cnf

在msyql5.7.x左右版本里面和mysql8.0以上的版本中,对于 group by 的这种聚合操作,如果在select 中的列,没有在group by 中出现,那么这个SQL是不合法的,因为列不在group by的从句中,所以对于设置了这个mode的数据库,在使用group by 的时候,就要用MAX(),SUM(),ANT_VALUE()的这种聚合函数,才能完成GROUP BY 的聚合操作,

如果提示不合法的话,只需要在配置文件中

配置文件中配置1. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
直接数据库管理工具执行2.
SET sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
#区分表的大小写 0是开启 1是关闭
lower_case_table_names=1
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true


 

初始化数据库

进入mysql的bin目录 

cd /usr/local/mysql/bin/

 初始化

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

如果初始化出现以下错误: 

 这种情况缺少libaio环境,需要安装两种情况:

离线服务器下安装:

链接:https://pan.baidu.com/s/1aICOXAuRBGID9sFh_NOc1w 
提取码:wbso 

先下载后,上传到服务器

 rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm

   

查看密码

cat /data/mysql/mysql.err

启动mysql,并更改root 密码

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

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

启动mysql

service mysql start
ps -ef|grep mysql
 

到这里说明mysql已经安装成功了!!

下面修改密码

首先登录mysql,前面的那个是随机生成的。

./mysql -u root -p   #bin目录下

执行的时候报错:

mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

原因:mysql在启动时发现缺少 libncurses.so.5 这个依赖,并且在/usr/lib以及/lib中也无法找到该依赖

解决:在/usr/lib、/lib、/usr/lib64中寻找一个大于或者等于该依赖版本的依赖文件,我的是在/usr/lin64中找到了一个libncurses.so.6.1,然后建立一个软链接(相当于快捷方式):

sudo ln -s 文件路径  快捷方式路径

sudo ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

这样就在/usr/lib64下建立了一个libncurses.so.5的快捷方式。mysql在启动时就会寻找该libncurses.so.5依赖的快捷方式,最后实际链接到了libncurses.so.6.1依赖。

此时再次查看mysql依赖:

登陆mysql 修改名字

1、SET PASSWORD = PASSWORD('111111');
2、ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
3、FLUSH PRIVILEGES;
4、exit

如果用工具远程连接失败

这里主要执行下面三个命令(先登录数据库)

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

最后执行以下命令,就不用每次都到bin目录下执行了

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

以后登陆MySQL:

 mysql -u 用户名 -p

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南大白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值