linux安装mysql5.7.24

linux安装mysql5.7.24linux安装mysql5.7.24一、卸载mysql安装有三种方式,包括二进制包安装(UsingGenericBinaries)、RPM包安装、源码安装。一般是前两种比较多卸载方法参考Linux->卸载Mysql方法总结,记得卸载干净二、安装建议路径设置按照写的来将下载的压缩包复制到linux服务器/usr/local/路径下(下载地址https://de…

大家好,又见面了,我是你们的朋友全栈君。

linux安装mysql5.7.24


一、卸载

mysql安装有三种方式,包括二进制包安装(Using Generic Binaries)、RPM包安装、源码安装。一般是前两种比较多

卸载方法参考Linux->卸载Mysql方法总结,记得卸载干净


二、安装

建议路径设置按照写的来

将下载的压缩包复制到linux服务器/usr/local/路径下(下载地址https://dev.mysql.com/downloads/mysql/,进去下载默认是最新的,找到Looking for previous GA versions?,点击就可以找到以前的版本,Linux-Generic是通用版的意思)

linux安装mysql5.7.24

至于将压缩包放到linux上去,我是用WinSCP软件

——————————————————————————————————————————————

                                                                                    开始安装

——————————————————————————————————————————————

1、进入压缩包存放目录

[root@localhost ~]# cd /usr/local

2、解压压缩包

[root@localhost local]# tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

3、修改文件夹名字

将解压后的文件夹修改名字,文件夹名字改为mysql

[root@localhost local]mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql

4、检查并创建用户和用户组

  [root@localhost local]# cat /etc/group | grep mysql
  [root@localhost local]# cat /etc/passwd |grep mysql
  [root@localhost local]# groupadd mysql
  [root@localhost local]# useradd -r -g mysql mysql

5、创建data文件夹

某个版本之后就没有data文件夹了

[root@localhost local]mkdir /usr/local/mysql/data

6、授权目录和用户

(****重要****)忘记授权会出问题,em…,各种各样的问题

[root@localhost /]# cd /usr/local/ 
[root@localhost local]# chown -R mysql:mysql mysql/
[root@localhost local]# chmod -R 755 mysql/

7、安装并初始化*****重要*****

执行下面之前去/etc/目录下查看是否有my.cnf配置文件,如果有,删除或者修改名字备份起来!不然会出现各种PID或者SOCK有关的问题

某个版本之后这个步骤是下面这样,以前是mysql_install_db,datadir就是安装路径,basedir就是根目录

[root@localhost local]# /usr/local/mysql/bin/mysqld –initialize –user=mysql –datadir=/usr/local/mysql/data –basedir=/usr/local/mysql

执行完上面之后,最后一行会有默认生成的密码,记下来

linux安装mysql5.7.24

如果上面报错,报错信息如下:

error while loading shared libraries: libnuma.so.1: cannot open shared object file…..

解决方法:

yum 安装的libnuma.so.1,但安装时默认安装的是32的,但db2需要的是64位的,先卸载32位的,再安装64的,执行下面即可

yum remove libnuma.so.1

yum -y install numactl.x86_64

8、复制启动脚本到资源目录

[root@localhost local]# cd mysql
[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
提示是否覆盖的话,可能之前装过没删除,输入y覆盖

9、增加mysqld服务控制脚本执行权限

[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

10、将mysqld服务加入到系统服务

[root@localhost mysql]# chkconfig –add mysqld

11、检查mysqld服务是否已经生效

[root@localhost mysql]# chkconfig –list mysqld

执行完类似下面

linux安装mysql5.7.24

12、启动mysql

[root@localhost mysql]# service mysqld start

显示SUCCESS的话,到这里就已经启动成功了

12-2、启动mysql失败

提示找不到mysql命令的话

[root@localhost mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin

12-3、启动mysql失败2

提示找不到pid文件的话,需要回去看第七步,查看是否有my.cnf文件(以前存留下来的),如果存在备份修改名字即可

[root@localhost etc]# mv my.cnf my-bk.cnf

13、登录mysql

失败的话看下面

[root@localhost mysql]# mysql -uroot -p

linux安装mysql5.7.24

13-2、登录mysql失败

失败信息:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

[root@localhost mysql]# ln -s /var/lib/mysqld/mysql.sock /tmp/mysql.sock

然后返回13步重新执行

13-3、出现-bash: mysql: command not found

增加软连接

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

14、(在mysql命令行模式下)修改密码

下面最后面的root就是密码,修改完之后退出重新登录一次试试,有些在修改密码的时候执行下面的会报错,可以参考https://blog.csdn.net/q258523454/article/details/84555847,或者百度一下,很容易解决
mysql> flush privileges;
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘root’;
mysql> flush privileges;
mysql> quit
[root@localhost mysql]# mysql -uroot -p

15、配置3306端口

开启防火墙(如果以前已经安装过mysql的,这个一般都已经设置好了,我的是新建的虚拟机,所以没有设置)

配置方法:打开/etc/sysconfig/iptables文件,找到22端口(这个是默认配置好的),复制多一行在下面,把22改成3306就行,记住,不要复制到最后一行,有些竟然没有iptables的文件?这是可以生成的,百度一下就行,有些防火墙文件不是这个,要先取消或者设置

当然下面这个步骤也可以用vim命令进行编辑

(复制下面)

-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT

linux安装mysql5.7.24

修改完保存之后执行命令行重启防火墙

service iptables restart

有些Linux版本的重启如下
systemctl restart iptables.service

16、测试连接

本地使用Navicat连接测试,填写完点击连接测试

linux安装mysql5.7.24

显示错误信息不允许连接1130 – Host ‘192.168.114.1’ is not allowed to connect to this MySQL server

linux安装mysql5.7.24

解决方法:(如果还没登录mysql,记得登录先)
mysql> flush privileges;
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
mysql> flush privileges;

执行完再次连接测试

linux安装mysql5.7.24

还是报错1045 – Access denied for user ‘root’@’192.168.114.1’ (using password:YES),不过这次结果是密码错误,原因是因为未授权,第一次启动是这样的,解决如下:

mysql> grant all privileges on *.* to ‘root’@’%’ identified by ‘root’;
mysql> flush privileges;

再去连接测试就行了,到这里就已经安装完毕,可以使用了

——————————————————————————————————————————————

好像并没有涉及到my.cnf的配置文件?某个版本之后可以不需要配置文件,当然也可以自己加上,下面的就是加配置文件my.cnf的步骤

——————————————————————————————————————————————

17、关闭mysql

复制之前先把mysql关闭,emm………..不然会报错

如果还是mysql命令行模式的,先quit退出,然后执行下面

[root@localhost mysql]# service mysqld stop

18、新建配置文件

复制my.cnf配置文件到/etc/目录下,没有这个文件的,自己新建,内容如下

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
#skip-grant-tables
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 4G
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/usr/local/mysql/data
socket=/var/lib/mysqld/mysql.sock
character-set-server=utf8mb4
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
server-id=1
log-bin=mysql-bin
log-slave-updates=1
default-storage-engine=INNODB
innodb_large_prefix=on
max_connections = 2000
max_connect_errors=2000

#skip-grant-tables

19、授权配置文件

注意权限不要设置成777,777是最大的权限,权限过大mysql会认为不安全,会自动忽略这个文件,相当于没有起作用

[root@localhost mysql]# chmod 644 /etc/my.cnf

20、新建路径

在步骤18里面配置了日志文件、pid文件、sock文件的路径,所以要去自己手动创建这些路径,文件不用创建,会自动生成

PID路径:/var/run/mysqld/

LOG路径:/var/log/

SOCK路径:/var/lib/mysqld/

21、授权 *****重要*****   *****重要*****   *****重要*****

对这些路径授权,忘记的话,em…..各种各样的问题(如果遇到sock,pid,log的报错,基本就是这步授权的问题…..)

[root@localhost var]# chown -R mysql /var/lib/mysqld
[root@localhost var]# chgrp -R mysql /var/lib/mysqld
[root@localhost var]# chown -R mysql /var/run/mysqld
[root@localhost var]# chgrp -R mysql /var/run/mysqld
[root@localhost var]# chown -R mysql /var/log
[root@localhost var]# chgrp -R mysql /var/log

22、启动mysql

[root@localhost var]# service mysqld start

23、查看进程配置生效

[root@localhost var]# ps -ef | grep mysql

linux安装mysql5.7.24

24、应该没了

pid文件存放的好像是进程的pid值

sock好像是使用localhost连接的时候会用到

很多教程不成功的原因,有时候不是教程有问题,而是受mysql版本(如5.7之后跟之前的有许多不一致)等其他因素造成,毕竟技术是会升级的,老的教程也会有不适用的时候,如果第一次如果不成功,也有可能是某个步骤没有按照教程的来或者漏了,这时候需要自己一步步校验检查

应该没了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141052.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中finalized的用法_java中的引用类型

    java中finalized的用法_java中的引用类型我们通常用构造器来创建对象,而Finalize正好相反,构造方法执行对象的初始化操作,finalize方法执行对象的销毁操作.那我们什么时候需要使用finalize方法呢,我们都知道Java里垃圾回收器可以回收对象使用的内存空间,但是对象可能会持有很多资源比如Socket、文件句柄等,垃圾收集器无法回收这些资源,因此你需要使用finalize方法帮助GC回收这些资源,比如关闭打开的文件或者网元资源…

    2022年9月18日
    0
  • sql语句增删改查的基本语法_数据库中的增删改查四个语句

    sql语句增删改查的基本语法_数据库中的增删改查四个语句MYSQL中,常用的几种约束:约束类型:主键:primarykey外键:foreignkey唯一:unique非空:notnull自增:auto_increment默认值:default主键约束primarykey主键约束相当于唯一约束+非空约束的组合,主键约束列不允许重复,也不允许出现空值。每个表最多只允许一个主键,建立主键约束可以在列级别创建,也可以在表级别创建。当创建主键的约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。基本模式:createt

    2025年5月25日
    0
  • c++语言截取字符串,详解C++ string常用截取字符串方法

    c++语言截取字符串,详解C++ string常用截取字符串方法string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求:find(stringstrSub,npos);find_last_of(stringstrSub,npos);其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子字符串首次出现的位置,否则返回-1;注:(1)find_last_of的npos为从末尾开始寻找的位置。(2)下文中用到的strs…

    2022年5月19日
    28
  • HTML5新增及移除的元素

    HTML经过10多年的发展,其元素经历了废弃与不断重新定义的过程。为了更好的处理现在的互联网应用,HTML5新增了图形绘制、多媒体播放、页面结构、应用程序存储、网络工作等新元素。http://hove

    2021年12月27日
    45
  • 软件测试流程设计—黑盒测试用例设计方法「建议收藏」

    软件测试流程设计—黑盒测试用例设计方法「建议收藏」第1章测试用例设计方法测试用例设计方法包括黑盒测试用例设计方法和白盒测试用例设计方法,下面分别进行介绍。1.1黑盒测试用例设计方法黑盒测试用例设计方法包括等价类划分法、边界值分析法、判定表法、因果图法、正交试验法、状态迁移图法、流程分析法、输入域测试法、输出域分析法、异常分析法和错误猜测法等,下面进行详细介绍。1.1.1 等价类划分法1.什么是等价类划分法等价类划分法是一种典型的黑盒测试设计方法。该方法主要针对测试子项进行规格分析,然后获得用例,而不用对系统内部处理进行深..

    2022年6月1日
    26
  • 【NOIp】NOIp2008

    【NOIp】NOIp2008NOIp2008T1笨小猴标签:STL用一个map存字母到数字(出现次数)的映射由于数据范围很小,可以不用线性筛直接${\sqrt{n}}$即可code1#include<bi

    2022年7月1日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号