linux centos7系统下安装mysql5.7

  1. 安装mysql5.7-26
  1. 下载地址

 

  1. 建立文件夹

我的文件夹/data/xypt,然后在里面创建了software存放下载的软件

进入软件目录,cd /data/xypt/software ,可根据你自己的根目录文件创建文件夹

取上面的地址,Mysql 5.7-26免安装包:wget

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

  1.  解压

进入压缩包文件夹

cd /data/xypt/software

tar -xzvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

移动到xypt文件夹下并改成mysql

mv mysql-5.7.26-linux-glibc2.12-x86_64 /data/xypt/mysql

  1. 创建数据仓库

数据库现存目录为:/data/xypt/mysql

创建数据仓库,也放到xypt文件夹下

mkdir /data/xypt/data

  1. 查看权限

ls -lh 或 ll 可看当前文件夹所属的用户及权限

  1. 创建用户及分配权限

进入mysql数据库目录  cd /data/xypt/mysql

#pwd

创建用户组和用户,很多资料用的都是mysql,我这里用的是自己的,如果为了方便可以用mysql,不过有的默认的linux会有mysql的组和用户,所以为了体验可以用个自定义的用户。我这里用的是xiaohu,当然为了省麻烦,用户组和用户都是xiaohu

groupadd xiaohu    //创建用户组,groupdel 是删除组

// useradd xiaohu    //创建用户,userdel xiaohu 是删除用户

useradd -r -s /sbin/nologin -g xiaohu xiaohu -d /data/xypt/mysql   ---新建msyql用户禁止登录shell

  1. 查看用户及用户组信息

cat /etc/group 查看用户组信息

cat /etc/password 查看所有用户信息

用户信息详见:https://www.cnblogs.com/123-/p/4189072.html

  1. 改变权限

进入mysql文件夹

# cd /data/xypt/mysql

#chown -R xiaohu .  //最后有个点,这个点代表当前目录,当前目录权限

#chgrp -R xiaohu .   //所属组权限

对用户赋予数据仓库权限

#chown -R xiaohu /data/xypt/data

  1. 数据库初始化

# bin/mysqld --initialize --user=xiaohu --basedir=/data/xypt/mysql5.7-26 --datadir=/data/xypt/data/mysql

最后的root@localhost:后的字母为生成的临时密码,后续登录数据库要用到。

如果第二次执行或执行报错,如下。

这个问题出现是数据仓库已经存在初始化数据,将数据仓库的所有文件删除后在执行就行了。

进入数据仓库  #cd /data/xypt/data

删除文件夹下所有文件:rm -rf *

#bin/mysql_ssl_rsa_setup  --datadir=/data/mysql  --这个是mysql5.7以后安装初始化阶段多的一步,为安装SSL的。

如果没有出现上面信息,那就是安装有问题,删除用户及用户组和数据仓库数据库文件夹,从头再来一次。运行上面命令后,默认会在数据仓库里面生成.pem文件这些文件用于启动SSL功能的。

网址地址:https://www.cnblogs.com/mysql-dba/p/7061300.html

  1. 修改系统配置文件

进入数据库文件夹下的support-files

#cd /data/xypt/mysql/support-files

进入该目录下,5.7以上版本是没有my-default.cnf这个文件的,因为5.7以上的版本不用my-default.cnf也可以启动,所以就去掉了。这个地方如果没有这个文件那就建一个。

#touch my-default.cnf   --建立文件

#vim my-default.cnf   --编辑,vi也可以编辑,只不过vim是文本编辑,有颜色显示。vim进入后可以通过点E编辑

cnf文件 内容

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]

# 基础目录

basedir=/data/xypt/mysql

# 数据目录

datadir=/data/xypt/data

# MySQL监听端口

port=3306

# soket文件

socket=/var/lib/mysql/mysql.sock

# 服务器字符集

character-set-server = utf8

# mysql pid文件 进程ID文件

#pid-file=/tmp/mysqld.pid

# skip-grant-tables

# explicit_defaults_for_timestamp=1   设置时间列是否自动更新,timestamp

lower-case-table-names = 1     # 区别表名大小写

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

table_open_cache = 256

max_connections = 6000

max_connect_errors = 6000

[mysqld_safe]

# mysql 错误日志文件

log-error=/data/xypt/data/mysqld.log

# mysql pid文件 进程ID文件

#pid-file=/data/xypt/mysql/mysqld.pid

这里面说一下几个数据明细。

basedir为数据库文件目录路径,datadir为数据仓库目录,socket路径写成/var/lib/mysql/mysql.sock最好不要自定义,否则会有报错。log-error错误日志文件存放地址,我是放到了数据仓库中,如果数据仓库没有这个mysqld.log,通过#touch mysqld.log创建文件。

标蓝色的mysqlpid有两处,一处在[mysqld]中是固定的路径/tmp/mysqld.pid,另一个在[mysqld_safe]是自定义路径,放在数据库文件夹下。经过自己的测试,下面的这种写法会报以下错误。

所以将下面这种隐藏,将上面这种放开,放开就是将#号删除即可。

详细参数介绍见网络地址:

https://www.cnblogs.com/xu743876685/p/8642027.html

sql_mode详细数值介绍:

https://www.cnblogs.com/grimm/p/5752259.html

open_tables和table_open_cache数值大小详见地址:

https://www.cnblogs.com/fjping0606/p/6531292.html

max_connections数值详见地址:

https://www.jb51.net/article/51829.htm

max_connect_errors数值详见地址:

https://blog.csdn.net/mydriverc2/article/details/79025841

上面操作是将my-default.cnf创建,并将参数简单介绍了一下。

#cp my-default.cnf /etc/my.cnf

#cp mysql.server /etc/init.d/mysql

#vim /ect/init.d/mysql

修改basedir和datadir地址。

  1. 启动mysql

#/etc/init.d/mysql start

如果再次出现以下信息

出现上面的问题就是因为权限的问题,可网上资料很多都说了很多也没解决我的问题,最后终于知道了是我分配了/data/xypt/mysql和/data/xypt/data这两个文件的权限,但我没有分配根目录/data的权限,所以这里将权限重新赋予/data根目录一下就行。

则执行#vim /etc/my.cnf,添加用户

  1. 登录mysql

登录:# mysql -hlocalhost -uroot -p

#use mysql

更改密码

update user set authentication_string=password(1234) where user=xiaohu

--设置root账户的host地址(修改了才可以远程连接)

mysql>grant all privileges on *.* to 'root'@'%' identified by '1234';
mysql>flush privileges;

Mysql用户操作详见地址:

https://www.cnblogs.com/zhchoutai/p/6929103.html

https://www.cnblogs.com/123-/p/4189072.html

服务器关机与重启命令详解

https://www.cnblogs.com/itlive/p/4097891.html

----------------------------------------------------------------------

安装mysql转载网址来源:

https://www.cnblogs.com/dengshihuang/p/8029092.html

你可能感兴趣的:(linux,centos,7,mysql,数据库)