linux安装mysql5.7

断了今生、忘了曾经 提交于 2019-11-27 07:41:24

之前一直觉得linux安装mysql很简单,但是今天自己亲自安装的时候还是遇到不少问题,下面记录一下安装的过程,方便以后参考,

环境准备,centos7.X系统,mysql5.7.22安装包

1、上传mysql安装包到服务器的目录下,可自己指定,上传成功后,解压,
在这里插入图片描述
解压并重新命名,

tar -zxvf  mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql

2、创建数据存储目录,

mkdir data

在这里插入图片描述

3、主目录权限处理

查看组和用户情况

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql

在这里插入图片描述

若存在,则删除原mysql用户:userdel -r mysql,会删除其对应的组和用户

创建mysql组和mysql用户

groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql

4、创建配置文件及相关目录

修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码。

vim /etc/my.cnf

修改内容:

[mysqld]
basedir=/datahome/mysql
datadir=/datahome/mysql/data
port = 3306
socket=/tmp/mysql.sock

symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld/mysqld.pid
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
log-bin=mysql-bin
binlog-format=ROW
server_id=1
max_connections=1000

init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

创建完毕,wq!保存退出

创建文件/tmp/mysql.sock:设置用户组及用户,授权

cd /tmp

touch mysql.sock

chown mysql:mysql mysql.sock

chmod 755 mysql.sock

建议这里的文件自己创建,我在安装的时候由系统启动自己创建中间出现了比较麻烦的问题,第二次安装的时候就自己手动创建才成功!

在这里插入图片描述

创建文件/tmp/mysqld/mysqld.pid:

mkdir mysqld

cd mysqld

touch mysqld.pid

cd ..

chown -R mysql:mysql mysqld

cd mysqld

chmod 755 mysqld.pid

在这里插入图片描述

创建文件/var/log/mysqld.log:

touch /var/log/mysqld.log

chown -R mysql:mysql /var/log

cd log

chmod 755 mysqld.log

在这里插入图片描述

5、安装和初始化数据库

进入bin目录:

cd /usr/local/mysql/bin/
./mysqld --initialize --user=mysql --basedir=/datahome/mysql --datadir=/datahome/mysql/data

在这里插入图片描述

如果出现下面错误:
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

需要安装依赖包,
yum install -y libaio

安装完毕后继续执行上面命令,

执行成功后,启动mysql,

./mysqld_safe --user=mysql &

出现一个进程号,表示启动成功,可以通过 : ps -ef|grep mysql 查看进程,
在这里插入图片描述

6、启动成功后,可以使用客户端登入mysql,

在bin目录下,执行, ./mysql -uroot -p,注意,初始化的密码自动生成保存在 /var/log里面,通过下面命令找到临时的密码,

cat /var/log/mysqld.log

在这里插入图片描述

 ./mysql -uroot -p

输入密码即可登录成功,
在这里插入图片描述

7、修改默认密码
在命令行模式下,执行如下命令,然后重新登录即可

set password=password("root");

为了方便客户端或者使用可视化工具进行连接,需要授权,执行如下命令,

grant all privileges on *.* to 'root'@'%' identified by 'root';

到这里,mysql的安装基本结束了,为了方便后续的维护,将mysql配置成服务,执行下面的命令即可,

cp /datahome/mysql/support-files/mysql.server  /etc/rc.d/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld

chkconfig  --add mysqld

chkconfig  --list mysqld

可以看到,服务已经配置成功,
在这里插入图片描述

本篇到此结束,最后感谢观看!

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