Linux 安装mysql数据库

醉酒当歌 提交于 2020-03-17 07:28:58

Linux 安装mysql数据库

1.1 检查 linux 系统版本

[root@rabbitmq2~]# cat /etc/system-release

CentOS Linux release 7.3.1611 (Core)

 

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

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

如果有安装过删除命令如下:

rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

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

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

 

2. 查询所有Mysql对应的文件夹命令:

[root@localhost /]# whereis mysql

mysql: /usr/bin/mysql /usr/include/mysql

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

/data/mysql

/data/mysql/mysql

删除相关目录或文件

[root@localhost /]#  rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql

 

3. 3、检查mysql用户组和用户是否存在,如果没有,则创建

[root@localhost /]# cat /etc/group | grep mysql

[root@localhost /]# cat /etc/passwd |grep mysql

[root@localhost /]# groupadd mysql

[root@localhost /]# 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

二 安装Mysql

1、在执行wget命令的目录下或你的上传目录下找到Mysql安装包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

执行解压命令:

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

[root@localhost /]# ls

mysql-5.7.24-linux-glibc2.12-x86_64

mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql

如果/usr/local/下已经存在mysql,请将已存在mysql文件修改为其他名称,否则后续步骤可能无法正确进行。

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

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

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

2、在/usr/local/mysql目录下创建data目录

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

3、更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

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

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

4、编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)

[root@localhost /]# cd /usr/local/mysql/bin

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

补充说明:

第4步时,可能会出现错误:

 

出现该问题首先检查该链接库文件有没有安装使用 命令进行核查

[root@localhost bin]# rpm -qa|grep libaio   

[root@localhost bin]# 

运行命令后发现系统中无该链接库文件

[root@localhost bin]#  yum install  libaio-devel.x86_64

安装成功后,继续运行数据库的初始化命令,此时可能会出现如下错误:

 

执行如下命令后:

[root@localhost bin]#  yum -y install numactl

执行无误之后,再重新执行第4步初始化命令,无误之后再进行第5步操作!

 

5、运行初始化命令成功后,输出日志如下:

 

记录日志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码。

6. 完成初始化后编辑配置文件 vi /etc/my.cnf

【直接拷贝下面配置文件,不需要做任何修改】

[mysqld]

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

socket=/tmp/mysql.sock

user=mysql

port=3306

character-set-server=utf8

 

#跳过密码验证,忘记密码 可以设置,然后修改密码,再关闭

skip-grant-tables

 

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Settings user and group are ignored when systemd is used.

# If you need to run mysqld under a different user or group,

# customize your systemd unit file for mariadb according to the

# instructions in http://fedoraproject.org/wiki/Systemd

 

[mysqld_safe]

 

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

# include all files from the config directory

!includedir /etc/my.cnf.d

7. 将mysql加入到服务

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

开机启动

chkconfig mysql on

启动mysql

service mysql start

8. 设置mysql密码(因为在配置文件取消了密码验证,可以直接回车键)

配置环境变量 vi /etc/profile

 

export PATH=$PATH:/usr/local/mysql/bin

 

如果配置了环境变量,可以使用

 

mysql -u root -p

 

如果,没有配置环境变量

 

/usr/local/mysql/bin/mysql -uroot -p

 

上图为登录成功,再操作数据库设置密码

 

use mysql;

 

update user set authentication_string=password('你的密码') where user='root';

 

或者#set password=password("root");

 

flush privileges;

 

exit

 

将 /etc/my.cnf 中skip-grant-tables删除或注释掉 然后重启Mysql 

 

service mysql restart

9. 设置可以远程连接

mysql -u root -p

 

输入密码

 

use mysql;  

 

如果进行操作出现下面的提示:

You must reset your password using ALTER USER statement before executing this statement

 

退出;

 

就重新设置一遍密码(原密码一样):

 

mysql -u root -p

 

mysql> alter user 'root'@'localhost' identified by'你的密码';

 

exit;

10. 再次设置远程连接

mysql -u root -p

use mysql;

update user set host='%' where user = 'root';

flush privileges;

exit;

11. 测试:关闭防火墙 

 

查看状态:   systemctl status firewalld 

 

启动:          systemctl start firewalld

 

关闭:          systemctl stop firewalld

 

开机禁用  : systemctl disable firewalld

 

开机启用  : systemctl enable firewalld

 

开放防火墙端口

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

firewall-cmd --reload

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!