Linux环境下mysql的安装

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)将mysqlbin目录加入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’

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

 

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

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

 

posted @ 2020-07-20 22:57  树花  阅读(471)  评论(0编辑  收藏  举报