Linux上安装MySQL(一)


Mysql5.7.24以下版本安装教程。

一 安装前准备

1、检查是否已经安装过mysql,执行命令

[root@localhost /]# rpm -qa | grep mysql

在这里插入图片描述

从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令

[root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

再次执行查询命令,查看是否删除

rpmqa其中–a选项是查询所有已经安装的软件包。-q是查询一个包是否安装

[root@localhost /]# rpm -qa | grep mysql

img

2、查询所有Mysql对应的文件夹

这里我们的

[root@localhost ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql
[root@localhost ~]# rm -rf /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql
[root@localhost ~]# whereis mysql
mysql:[root@localhost ~]# find / -name mysql
/etc/rc.d/init.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
/data/mysql
/data/mysql/mysql

删除相关目录或文件

[root@localhost ~]# rm -rf /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql

验证是否删除完毕

[root@localhost /]# whereis mysql
[root@localhost /]# find / -name mysql
[root@localhost /]# 

3、检查mysql用户组和用户是否存在,如果没有,则创建,我之前是用另一种方式装的mysql

所以我创建了用户组,和用户,现在我们把它删除。

mysql:[root@localhost ~]# cat /etc/group |grep mysql
mysql:x:1001:
[root@localhost ~]# cat /etc/passwd | grep mysql
mysql:x:997:1001::/home/mysql:/bin/bash

如何删除,vi/vim 进入对应的文件将对应的内容删除就可以了。

现在创建新的用户组和用户

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

4、从官网下载是用于Linux的Mysql安装包

下载命令:

[root@localhost /]#  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

这里你可以会遇到centos7默认没有wget命令,运行一下命令安装就可以了!

[root@localhost etc]# yum -y install wget

也可以直接到 mysql官网 选择对应版本进行下载。

在这里插入图片描述

二、安装Mysql5.7

1、安装包传输

​ 我是直接去官网下载安装包,应为你之间远程拉去的话,可能会因为网络原因,一些不可控因素导致获取失败,只有又得重试,会浪费很多时间。

传输mysql 到centos7上

我使用的是Xftp传输工具,将mysql安装包传输到/usr/local/soft中,

在这里插入图片描述

2、安装包解压

传输完成以后,可以在文件加下看到有安装包,接下来解压。

解压后,重命名文件夹,我用的是移动重命名。

[root@localhost soft]# tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

[root@localhost soft]# cd mysql
[root@localhost mysql]# ls
bin  docs  include  lib  LICENSE  man  README  share  support-files

3、修改权限和用户组

[root@localhost soft]# chmod -R 755 /usr/local/soft/mysql

4、修改配置文件

配置my.cnf

vim /etc/my.cnf

内容:

[mysqld]
bind-address=0.0.0.0
port=3306
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

我的配置文件

[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data/mysql
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql/mysql.err
pid-file=/usr/local/mysql/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

5、初始化数据库

进入mysql 的bin目录

cd /usr/local/mysql/bin/

初始化可能还需要安装依赖

yum install -y libaio

初始化

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

查看密码

cat /data/mysql/mysql.err

在这里插入图片描述

6、进入mysql目录下的 support-files启动服务

[root@localhost mysql]# cd support-files/
[root@localhost support-files]# ls
magic mysqld_multi.server mysql-log-rotate mysql.server
[root@localhost support-files]# ./mysql.server start

[root@localhost support-files]# ./mysql.server start
Starting MySQL.. SUCCESS! 

这样代表服务启动成功!

7、使用mysql

进入msyql的bin目录中输入以下命令,密码前面已经讲解了如何获取。

[root@localhost bin]# ./mysql -u root -p

在这里插入图片描述

登录以后,修改密码,执行以下操作

SET PASSWORD = PASSWORD(‘123456’);

ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

8、修改内容,允许访问,远程连接

登录数据库,在执行以下操作

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

此时就可以进行远程连接了

9、软链接设置

如果不希望每次都到bin目录下使用mysql命令则执行以下命令

ln:它的功能是为某一个文件在另外一个位置建立一个同步的链接

ln -s 源文件 目标文件

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

ln -s /usr/local/mysql/support-files/mysql.server /usr/bin

注意:按照以上顺去安装,基本不会有什么问题,因为我试了几遍,如果中途出去报错,可以参考一下错误去解决。、

10、开机自启动设置

1、将服务文件拷贝到init.d下,并重命名为mysqld
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务
[root@localhost /]# chkconfig --add mysqld
4、显示服务列表
[root@localhost /]# chkconfig --list

三、安装mysql8.0

1、将下载的mysql上传到指定的目录

/usr/local/java/

2、解压

xz -d mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar

3、重命名

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql8

4、创建用户组及用户和密码

groupadd mysql
useradd -g mysql mysql

5、授权用户

chown -R mysql.mysql /usr/local/mysql

7、编辑my.cnf文件

vim /etc/my.cnf

按 i 进入修改模式 然后将下面的文本复制进去

[mysqld]
user=root
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1
group_concat_max_len=102400
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8

8、进入到bin目录下

cd bin

9、初始化基础信息,最后一行后面会有个随机的初始密码保存下来一会登录要用(如果忘记了就删掉data重新初始化)

./mysqld --initialize

10、添加mysqld服务到系统

先返回到mysql目录

cd …
cp -a ./support-files/mysql.server /etc/init.d/mysql

11、授权以及添加服务

chmod +x /etc/init.d/mysql
chkconfig --add mysql

12、启动mysql

service mysql start

13、将mysql添加到命令服务

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

14、登录mysql

mysql -uroot -p

15、输入刚刚初始化时生成的密码

16、更改root用户密码, 注意语句后的; 执行语句忘记写了 可以补个空的;回车也可以将语句执行

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;
flush privileges;

17、更改root连接权限

update user set host=’%’ where user = ‘root’;
flush privileges;

18、exit; 退出mysql,现在就可以通过连接工具登录root账户进行远程连接了

四、在安装过程中可能出现的错误

1、设置密码问题

由于mysql5.7之后,mysql数据库中的mysql库中的user表没有了password字段, password字段改成了authentication_string ,安装一下设置就可以,然后在重新登录即可。

update user set password=password("*******") where user="*******";  #修改密码报错
update mysql.user set authentication_string=password('*******') where user='*******';  #修改密码成功
flush privileges;  #立即生效

2、权限不足

Access denied for user ‘root’@‘localhost’ (using password: YES)

出现一下报错,可以在my.ini配置文件中添加一行,登录跳过密码验证。

先登录之后,然后在重新设置密码。

skip-grant-tables #在my.ini,[mysqld]下添加一行,使其登录时跳过权限检查

重新设置密码,删除my.ini中的跳过密码验证。

然后重启服务

SET PASSWORD = PASSWORD(‘123456’);
ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

service mysql restart

3、远程连接不成功

1、网络原因。

2、防火墙设置问题

由于服务器没有对外开放mysql的默认端口3306导致

firewall-cmd --permanent --zone=public --add-port=3306/tcp

firewall-cmd --reload

mysql安装教程

以下内容是我根据上面博主的内容进行的借鉴,补充了一些自己的内容,例如初始化,密码查看等都用了不同的操作。如有涉及违规内容,请及时联系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值