linux centos7系统下安装mysql5.7

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

 

  1. 创建文件夹

个人文件夹/data/xypt,而后在里面建立了software存放下载的软件html

进入软件目录,cd /data/xypt/software ,可根据你本身的根目录文件建立文件夹mysql

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

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

  1.  解压

进入压缩包文件夹shell

cd /data/xypt/software数据库

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

移动到xypt文件夹下并改为mysql服务器

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

  1. 建立数据仓库

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

建立数据仓库,也放到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 查看全部用户信息

用户信息详见:http://www.javashuo.com/article/p-rffjwzqx-bk.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]是自定义路径,放在数据库文件夹下。通过本身的测试,下面的这种写法会报如下错误。

因此将下面这种隐藏,将上面这种放开,放开就是将#号删除便可。

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

http://www.javashuo.com/article/p-owkieyfo-k.html

sql_mode详细数值介绍:

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

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

http://www.javashuo.com/article/p-ecmkhjmy-gp.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

http://www.javashuo.com/article/p-rffjwzqx-bk.html

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

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

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

安装mysql转载网址来源:

http://www.javashuo.com/article/p-yznertdk-z.html

相关文章
相关标签/搜索