找回密码
 立即注册
Qt开源社区 门户 查看内容

Linux平台MySQL数据库的安装及配置(下)

2019-7-4 22:19| 发布者: admin| 查看: 847| 评论: 0

摘要: 昨天简要介绍了通过yum在线安装MySQL---Linux平台MySQL数据库的安装及配置(上)今天介绍下MySQL的离线tar.gz包的安装方式。b. 本地通过压缩包方式安装MySQLb.1 检查linux系统版本:# cat /etc/system-releaseb.2 检 ...


昨天简要介绍了通过yum在线安装MySQL

  ---Linux平台MySQL数据库的安装及配置(上)





今天介绍下MySQL的离线tar.gz包的安装方式。

b. 本地通过压缩包方式安装MySQL

b.1 检查linux系统版本:
    [root@localhost ~]# cat /etc/system-release
    b.2 检查是否安装过MySQL:

      [root@localhost ~]# rpm -qa | grep mysql
      若存在 mysql 安装文件,则会显示 mysql安装的版本信息

      如:mysql-connector-odbc-5.2.5-6.el7.x86_64

      卸载已安装的MySQL,卸载mysql命令,如下:
        [root@localhost ~]# rpm-e--nodepsmysql-connector-odbc-5.2.5-6.el7.x86_64
         将/var/lib/mysql文件夹下的所有文件都删除干净。

        ☧ 检查一下系统是否存在 MariaDB数据库,如果有,一定要卸载掉,否则可能与 MySQL 产生冲突。
          [root@localhost ~]# rpm -qa | grep mariadb
          如果MariaDB存在,那么将其完全卸载:
            systemctl stop mariadbrpm -qa | grep mariadbrpm -e --nodeps mariadb-5.5.52-1.el7.x86_64rpm -e --nodeps mariadb-server-5.5.52-1.el7.x86_64rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
            b.3 检查系统内存

            检查一下 linux 系统的虚拟内存大小,如果内存不足 1G,启动 mysql 的时候可能会产生下面这个错误提示: 
              Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited witherror code.See "systemctl status mysqld.service" and "journalctl -xe" for details.[FAILED]
              安装5.6以及以上版本的mysql需要服务器的内存至少在1G以上





              b.4 从 MySQL官网下载并上传 MySQL安装包

              https://downloads.mysql.com/archives/community/

              下载 mysql 安装包:mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz(以此为例)



              b.5 上传安装文件到 linux 系统

              使用 ftp 上传至 linux 系统中,上传至 /var/ftp/pub 文件目录下

              出于安全问题,建议使用 md5sum 命令核对一下文件源:
                [root@localhost pub]# md5sum mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
                b.6 解压安装包,并移动到home目录下

                解压 MySQL的 gz 安装包:
                  [root@localhost pub]# tar-zvxfmysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

                  在/usr/local 目录下创建文件夹存 mysql:
                    [root@localhost pub]# mkdir /usr/local/msyql
                    将文件移动到 /usr/local 目录下,并重命名文件夹:
                      [root@localhost pub]# mvmysql-5.7.17-linux-glibc2.5-x86_64/* /usr/lcoal/mysql
                      b.7 添加 mysql 组和 mysql 用户:

                      添加 mysql 组:
                        [root@localhost ~]# groupadd mysql
                        添加 mysql 用户:
                          [root@localhost ~]# useradd -r -g mysql mysql

                            查看是否存在 mysql 组:[root@localhost ~]# more /etc/group | grep mysql查看 msyql 属于哪个组:[root@localhost ~]# groups mysql查看当前活跃的用户列表:[root@localhost ~]# w
                            b.8 检查是否安装了libaio
                              [root@localhost pub]# rpm -qa | grep libaio
                              如果没有安装,则安装libaio:

                              版本检查:
                                [root@localhost pub]# yum search libaio
                                              安装:

                                  [root@localhost pub]# yum -y install libaio
                                  b.9 进入安装 mysql 软件目录:
                                    [root@localhost ~]# cd /usr/local/mysql/
                                    b.10 安装配置文件:
                                      [root@localhost mysql]# cp ./support-files/my-default.cnf /etc/my.cnf(提示是否覆盖,输入“ y ”同意)
                                      b.11 修改被覆盖后的 my.cnf:
                                        [root@localhost mysql]# vim /etc/my.cnf
                                        以下是mysql的配置示例,根据自己的需要更改:

                                          [mysql]
                                          # 设置mysql客户端默认字符集
                                          default-character-set=utf8
                                          socket=/var/lib/mysql/mysql.sock
                                          [mysqld]
                                          #skip-name-resolve
                                          #设置3306端口
                                          port = 3306
                                          socket=/var/lib/mysql/mysql.sock
                                          # 设置mysql的安装目录
                                          basedir=/usr/local/mysql
                                          # 设置mysql数据库的数据的存放目录
                                          datadir=/usr/local/mysql/data
                                          # 允许最大连接数
                                          max_connections=200
                                          # 服务端使用的字符集默认为8比特编码的latin1字符集
                                          character-set-server=utf8
                                          # 创建新表时将使用的默认存储引擎
                                          default-storage-engine=INNODB
                                          #lower_case_table_name=1
                                          max_allowed_packet=16M

                                          b.12 创建 data 文件夹:
                                            [root@localhost mysql]# mkdir ./data
                                            b.13 修改当前目录拥有者为 mysql 用户:
                                              [root@localhost mysql]# chown -R mysql:mysql ./
                                              b.14初始化 mysqld:
                                                [root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/


                                                b.15 设置开机启动:

                                                复制启动脚本到资源目录:
                                                  [root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
                                                           增加 mysqld 服务控制脚本执行权限
                                                    [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
                                                    将 mysqld 服务加入到系统服务:
                                                      [root@localhost mysql]# chkconfig --add mysqld
                                                      检查mysqld服务是否已经生效:
                                                        [root@localhost mysql]# chkconfig --list mysqld
                                                        命令输出类似下面的结果:
                                                          mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
                                                          表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用 service 命令控制 mysql 的启动和停止。

                                                          查看启动项:
                                                            chkconfig --list | grep -i mysql 
                                                                       删除启动项:
                                                              chkconfig --del mysql
                                                              启动 mysqld:
                                                                [root@localhost mysql]# service mysqld start
                                                                b.16 环境变量的配置:

                                                                将mysql的bin目录加入PATH环境变量,编辑 /etc/profile文件:
                                                                  [root@localhost mysql]# vim /etc/profile
                                                                    PATH = $PATH:/usr/local/mysql/binexport PATH
                                                                           使其生效:
                                                                      [root@localhost mysql]# source /etc/profile
                                                                             查看PATH
                                                                        [root@localhost mysql]# echo $PATH

                                                                        b.17 测试登录
                                                                          [root@localhost mysql]# mysql -uroot -p(登录密码为初始化的时候显示的临时密码)
                                                                          初次登录需要设置密码才能进行后续的数据库操作:
                                                                            SETPASSWORD = PASSWORD('123456');(密码设置为了123456)
                                                                            修改密码为 ***:
                                                                              updateuserset authentication_string=PASSWORD('***')whereUser='root';
                                                                              防火墙端口设置,便于远程访问
                                                                                [root@localhost ~]$ firewall-cmd --zone=public --add-port=3306/tcp --permanent
                                                                                    刷新使之生效
                                                                                  [root@localhost ~]$ firewall-cmd --reload
                                                                                      创建新用户(***)并设置其能被远程访问

                                                                                    mysql> grant all privileges on *.* to ***@"%" identified by"password" with grant option;mysql> flush privileges;
                                                                                    b.18 MySQL启停:

                                                                                      启动:service mysqld start 或者 systemctl start mysqld停止:service mysqld stop  或者 systemctl stop mysqld查看状态:service mysqld status 或者 systemctl status mysqld








                                                                                      ----------------------------------------------------------------------------------------------------------------------
                                                                                      我们尊重原创,也注重分享,文章来源于微信公众号:Little Java Developer,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
                                                                                      ----------------------------------------------------------------------------------------------------------------------

                                                                                      鲜花

                                                                                      握手

                                                                                      雷人

                                                                                      路过

                                                                                      鸡蛋
                                                                                      
                                                                                      公告
                                                                                      可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了