ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Linux环境下mysql的安装

2020-07-20 23:01:11  阅读:267  来源: 互联网

标签:linux 5.7 mysql 30 mysqld usr Linux 安装


1、环境准备

(1)卸载自带的Mariadb

命令:rpm –qa|grep mariadb  ---------查询已经安装的mariadb

rpm –e –nodeps 文件名------------------卸载mariadb

(2)创建配置文件my.cnf

命令:touch  /etc/my.cnf

(3)创建一个用户名为mysql的用户并加入mysql用户组

命令:

Groupadd mysql---------------创建mysql用户组

Useradd –g mysql mysql--------mysql用户加入到mysql用户组

2、安装

(1)下载安装包

下载mysql安装文件,因为我使用的是内网环境,没有外网,下载的是离线安装 

下载地址:https://downloads.mysql.com/archives/community/

我下载的是5.7.30版本

根据需要的版本,系统进行过滤选择

 

(2)上传安装包

在/usr/local目录下创建mysql文件夹,把下载的安装包用ftp上传到该文件夹下

 

(3)解压缩

进入mysql文件夹,解压缩文件

命令:tar  –zxvf  mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

(4)配置my.cnf文件

授予my.cnf最大权限

命令:chmod 664 /etc/my.cnf

进入配置文件,复制一下文字,再根据实际情况进行修改

[client]

socket=/usr/local/mysql/mysql-5.7.30-linux-glibc2.12-x86_64/mysql.sock

[mysqld] 

port=3306

user=root

basedir=/usr/local/mysql/mysql-5.7.30-linux-glibc2.12-x86_64/

datadir=/usr/local/mysql/mysql-5.7.30-linux-glibc2.12-x86_64/data

socket=/usr/local/mysql/mysql-5.7.30-linux-glibc2.12-x86_64/mysql.sock

pid-file=/usr/local/mysql/mysql-5.7.30-linux-glibc2.12-x86_64/data/mysqld.pid

log-error=/usr/local/mysql/mysql-5.7.30-linux-glibc2.12-x86_64/mysql.err

sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIO

配置完成后退出保存,执行命令:source /etc/my.cnf   使配置文件生效

该路径下data文件是不存在的,需要自己创建

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

命令:chown -R root:root /usr/local/mysql/ mysql-5.7.30-linux-glibc2.12-x86_64

(5)初始化mysql

命令:

./mysqld --initialize --user=root --basedir=/usr/local/mysql/mysql-5.7.30-linux-glibc2.12-x86_64/ --datadir=/usr/local/mysql/mysql-5.7.30-linux-glibc2.12-x86_64/data/

初始化后在/usr/local/mysql/mysql-5.7.30-linux-glibc2.12-x86_64/mysql.err找到初始化密码

 

3、添加mysqld服务

(1)复制启动脚本到资源目录

命令:cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

(2)增加mysqld服务控制脚本执行权限

命令:chmod +x /etc/rc.d/init.d/mysqld

(3)将mysqld服务加入到系统服务

命令:chkconfig --add mysqld

(4)检查mysqld服务是否已经生效

命令:chkconfig --list mysqld

  

(5)启动mysqld

命令:service mysqld start

 

(6)将mysql的bin目录加入path环境变量

编辑文件~/.bash_profile文件,在文件的最后添加如下信息

 

添加完后退出保存,使修改的内容立即生效

命令:Source ~/.bash_profile

4、设置root账号密码

在上面初始化后有生成初始密码,执行mysql –u root –p命令后直接输入初始密码然后回车

如果初始化没有生成密码,可以先在/etc/my.cnf中添加如下内容:

在[mysqld]下添加skip-grant-tables,然后保存并退出。这句意思其实是,无密码登录。

然后重启mysql服务

systemctl restart mysqld

重启以后使用命令mysql –u root –p进入mysql命令行,无需输入密码,直接回车进入

使用该语句修改密码:

update mysql.user set authentication_string=PASSWORD('xmgps') where user='root';

注意:如下图,我用的第一个语句字段是password,但是我当前安装的这个版本的usr表字段有修改,对应的密码字段是authentication_string,另外语句最后的分号一定不要忘记。

  

修改密码成功后刷新权限

命令:flush privileges;

最后把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart

5、开启远程连接

密码修改成功后用navicat连接mysql,你会发现连不上,报如下错误,这是因为mysql没有开启远程连接,不允许其他服务器进行连接。

 

(1)用之前设置的root密码登陆到mysql,然后执行如下命令

Update mysql.user set host=’%’ where user=’root’

但是执行命令的时候报错,说必须要重置密码才能使用该语句

 

于是乎又重复了一遍修改密码的操作,该语句才执行成功。

执行完上述语句后就能正常连接了

 

标签:linux,5.7,mysql,30,mysqld,usr,Linux,安装
来源: https://www.cnblogs.com/shu-hua/p/13349699.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有