Centos7安装配置MySQL 5.6

Centos7安装配置MySql 5.6

首先下载MySql5.6的安装包,具体安装方式分为yum安装离线安装。在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL。

1. 离线安装

下载MySql5.6 社区版安装包

网址:https://dev.mysql.com/downloads/mysql/

  1. 选择下载 之前的MySql GA 版本

wP1CxH

  1. 选择相应版本号,所属操作系统,然后根据需要下载64位还是32位Linux通用安装包。

wP19Re

  1. 下载完成后将本地安装包上传到Linux服务器上。一般默认将mysql安装到/usr/local/mysql中,也可以指定某些特定的路径,但是mysql在liunx中默认会找/usr/local/路径,如果更改路径比较麻烦。这里就选择安装在这个路径/usr/local/mysql下。

创建路径/usr/local/mysql

[root@localhost ~]# mkdir /usr/local/mysql
  1. 创建mysql数据存放目录
[root@localhost ~]# mkdir /usr/local/mysql/mysqldb
  1. 将mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz解压到/usr/local/mysql中:
[root@localhost ~]# tar -zxvf /usr/local/mysql/mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql
[root@localhost ~]# rm -rf /usr/local/mysql/mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz
  1. 将解压的目录下的所有目录放在/usr/local/mysql下:
[root@localhost ~]# cp -rf /usr/local/mysql/mysql-5.6.49-linux-glibc2.12-x86_64/* /usr/local/mysql/ 
[root@localhost ~]# rm -rf /usr/local/mysql/mysql-5.6.49-linux-glibc2.12-x86_64/
  1. 创建mysql用户组
[root@localhost ~]# groupadd mysql
  1. 创建MySQL用户但该用户不能登陆(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql
  1. 将创建的mysql用户加入到mysql组下,更改/usr/local/mysql下文件的拥有者为mysql
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/
  1. 创建MySQL初始化配置文件,vim /etc/my.cnf,把[mysql-safe去掉]
[root@localhost ~]# vim /etc/my.cnf

my.cnf文件修改样本

# [mysqld]
# datadir=/var/lib/mysql
# socket=/var/lib/mysql/mysql.sock
# 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

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
skip-name-resolve
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

lower_case_table_name=1

max_allowed_packet=16M

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

# [mysqld_safe]
# log-error=/var/log/mariadb/mariadb.log
# pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

  1. 进入安装mysql软件目录
[root@localhost ~]# cd /usr/local/mysql
  1. 修改当前目录拥有着为mysql用户
[root@localhost mysql]# chown -R mysql:mysql ./     
  1. 安装数据库
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/mysqldb/ 

注:若执行以上最后一个命令出现以下问题:

FATAL ERROR: please install the following Perl modules before executing 
./scripts/mysql_install_db:Data::Dumper

解决方法 :安装autoconf库,此包安装时会安装Data:Dumper模块,安装完成重新执行上述最后一个命令

[root@localhost ~]# yum -y install autoconf   

2. yum安装

执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL 。

  1. 首先查看已安装的 Mariadb 数据库版本。
[root@localhost ~]# rpm -qa|grep -i mariadb
  1. 卸载已安装的 Mariadb 数据库。
[root@localhost ~]# rpm -qa|grep mariadb|xargs rpm -e --nodeps
  1. 再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成。
[root@localhost ~]# rpm -qa|grep -i mariadb
  1. 下载并安装MySQL官方的 Yum Repository。
[root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
  1. 安装mysql57-community-release-el7-11.noarch.rpm包
[root@localhost ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装完成之后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repo 、mysql-community-source.repo 两个 yum 源文件。

  1. 执行以下命令查看可用的 mysql 安装文件。
[root@localhost ~]# yum repolist all | grep mysql 
  1. 安装mysql。
[root@localhost ~]# yum install mysql-server
  1. 检查mysql是否安装成功。
[root@localhost ~]# rpm -qa | grep mysql

3. 配置MySql

1. 授予my.cnf权限,权限方面最好不要配置为最高权限“777”,mysql担心这种最高权限文件被其他用户恶意修改,所以会忽略掉这个配置文件。这样mysql无法启动或重启。

  • my.cnf设置为root用户可读写,其他用户不可写.
[root@localhost ~]# chmod 644 /etc/my.cnf

2. 设置MySql开机启动

  • 将MySQL加入系统进程中
[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  • 重启MySQL
[root@localhost ~]# service mysqld restart
  • 赋予可执行权限
[root@localhost ~]# chmod +x /etc/init.d/mysqld
  • 将mysqld服务加入到系统服务
[root@localhost ~]# chkconfig --add mysqld
  • 检查mysqld服务是否已经生效
[root@localhost ~]# chkconfig  --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  • 如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
[root@localhost ~]# chkconfig --level 345 mysqld on
  • 以后可以使用service命令控制mysql的启动和停止
[root@localhost ~]# service mysqld start
[root@localhost ~]# service mysqld stop

3. 做软连接方便在命令窗口直接运行mysql命令

[root@localhost ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin

4. 配置MySql环境变量,配置环境变量 vim /etc/profile 最后加入:

[root@localhost ~]# vim /etc/profile
# 文件末尾加入 export PATH=$PATH:/usr/local/mysql/bin
# 使配置生效
[root@localhost ~]# source /etc/profile

5. 启动MySql,并修改登录密码

[root@localhost ~]# cd /usr/local/mysql/support-files/
[root@localhost support-files]# ./mysql.server start
  • 修改随机登录密码,设置允许远程登录
[root@localhost ~]# mysql -uroot -p

登录数据库,初始不用输入密码,直接按回车进入MySql命令界面

  • 在MySql命令窗口修改随机登录密码
mysql>use mysql;
mysql>update user set password=password('123456') where user='root';
mysql>flush privileges;
  • 设置允许远程登录
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

6. 为防火墙firewalld添加开放端口

  • 添加mysql端口3306
[root@localhost ~]# irewall-cmd --zone=public --add-port=3306/tcp --permanent
  • 然后重新启动防火墙
[root@localhost ~]# firewall-cmd --reload

7. MySql启动方式

[root@localhost ~]# systemctl start mysqld.service 		#启动 mysql
[root@localhost ~]# systemctl restart mysqld.service 		#重启 mysql
[root@localhost ~]# systemctl stop mysqld.service 		#停止 mysql
[root@localhost ~]# systemctl enable mysqld.service 		#设置 mysql 开机启动
posted @ 2020-05-10 16:27  水寒Blogs  阅读(458)  评论(0编辑  收藏  举报