首页 > 技术文章 > MySQL5.7安装方式

haoee 2019-12-04 17:33 原文

 


MySQL的安装方式

一:MySQL部署方式

  • RPM安装
  • 预编译安装    
  • 源码包编译安装    

     RPM安装的特点:

        1.无需编译,快
        2.无法个性化设置
        3.无法增删安装的工具

二:RPM安装

    Yum:下载yum仓库

 

 

 

 

 接下来添加Yum仓库: 通过下载库得到的RPM包或者地址,使用RPM命令安装即可。    

[root@localhost ~]# rpm    -ivh    https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

刷新Yum仓库:   

 [root@localhost ~]# yum   makecache

校验RPM完整性:

[root@localhost ~]# md5sum mysql57-community-release-el7-11.noarch.rpm

安装:

Yum安装mysql-server

先查询:

[root@localhost ~]# yum  list | grep  mysql-community-server

                     [root@localhost ~]# yum list | grep mysql-community-server
                 mysql-community-server.x86_64 5.7.20-1.el7 mysql57-community

安装:

[root@localhost ~]#  yum install -y mysql-community-server.x86_64

启动:

[root@localhost ~]#  systemctl start mysqld

[root@localhost ~]#  systemctl enable mysqld

 登录MySQL:查询登陆密码  

[root@localhost ~]# grep 'password' /var/log/mysqld.log 
         2019-08-13T15:14:31.176905Z 1 [Note] A temporary password is generated for root@localhost: k12zPB1r;2Ta

使用密码登陆:    

[root@localhost ~]# mysql -u root -p'k12zPB1r;2Ta'

修改密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Cloud@123';

三:预编译安装

1:创建用户组groupadd   mysql  

# useradd -r -g mysql -s /bin/false mysql   

MySQL 依赖于 libaio 库。 如果未在本地安装此库,则数据目录初始化和后续服务器启动步骤将失败。 如有必要,请使用适当的包管理器进行安装。 例如,在基于Yum 的系统上:

  # yum -y install libaio

安装:cd  /usr/local    

 [root@mysql1 local]# tar xf  mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

 [root@mysql1 local]# ln -s mysql-5.7.19-linux-glibc2.12-x86_64 mysql

初始化
设置mysql的启动参数:用户、组、权限、工作目录、配置文件

 # cd mysql

  # mkdir mysql-files
  # chmod 750 mysql-files
  # chown -R mysql.mysql .
  # bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
      (SiZt#ueiP3*%     注意保留初始密码,如遗忘密码,可观察后续操作(重新初始化步骤))
  # bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
  # chown -R root .
  # chown -R mysql data mysql-files
  # vim /etc/my.cnf

建立MySQL配置文件my.cnf(如果有,请备份)

[root@mysql1 mysql]# vim /etc/my.cnf
  [mysqld]
  basedir=/usr/local/mysql
  datadir=/usr/local/mysql/data

启动MySQL: 

 # cp support-files/mysql.server /etc/init.d/mysqld
  # chkconfig --add mysqld      建立mysql系统启动服务(centos6系列命令)
  # chkconfig mysqld on          建立开机启动(centos6系列命令)
  # service mysqld start           centos6系列命令
  # service mysqld start           centos6系列命令

  #systemctl    start mysqld      centos7系列命令

  #systemctl enable  mysqld    centos7系列命令
  Starting MySQL.Logging to '/usr/local/mysql/data/mysql2.err'.
  SUCCESS! 
  立刻启动服务
  # ps aux |grep mysqld

  # bin/mysql -uroot -p'SiZt#ueiP3*%'

登陆mysql,注意前方初始化得到的密码

[可选] 如果需要重新初始化:  

[root@mysql1 ~]# killall mysqld 或 pkill -9 mysqld
  [root@mysql1 ~]# rm -rf /usr/local/mysql/data
  [root@mysql1 mysql]# chown -R mysql .
  [root@mysql1 mysql]# chgrp -R mysql .
  注意会产生新的密码。
  [root@mysql1 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  [root@mysql1 mysql]# bin/mysql_ssl_rsa_setup
  [root@mysql1 mysql]# chown -R root .
  [root@mysql1 mysql]# chown -R mysql data mysql-files

四:源码包安装

  1.特点:

  源码安装
  与二进制发行版本相比,如果我们选择了通过源代码进行安装,那么在安装过程中我们能够对MySQL
  所做的调整将会更多更灵活一些。因为通过源代码编译我们可以:
  a) 针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码;
  b) 根据不同的软件平台环境调整相关的编译参数;
  c) 针对我们特定应用场景选择需要什么组件不需要什么组件;
  d) 根据我们的所需要存储的数据内容选择只安装我们需要的字符集;
  e) 同一台主机上面可以安装多个MySQL;
  f) 等等其他一些可以根据特定应用场景所作的各种调整。

    在源码安装给我们带来更大灵活性的同时,同样也给我们带来了可能引入的隐患:
  a) 对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;
  b) 对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差;
  c) 还有一个并不能称之为隐患的小问题就是源码编译安装将使安装部署过程更为复杂,所花费的时间更长;

2.安装依赖包  

# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

还需安装boost包   

 # wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz  

安装MySQL:  

    # groupadd mysql
  # useradd -r -g mysql -s /bin/false mysql
  # tar xvf mysql-5.7.19.tar.gz
  注意目录权限
  # cd mysql-5.7.19
  [root@mysql3 mysql-5.7.19]# pwd
  /root/mysql-5.7.19
  [root@mysql3 mysql-5.7.19]# tar xf boost_1_59_0.tar.gz

注意包的位置
配置

 [root@mysql-5.7.17 ~]# cmake . \
  -DWITH_BOOST=boost_1_59_0/ \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DSYSCONFDIR=/etc \
  -DMYSQL_DATADIR=/usr/local/mysql/data \
  -DINSTALL_MANDIR=/usr/share/man \
  -DMYSQL_TCP_PORT=3306 \
  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
  -DDEFAULT_CHARSET=utf8 \
  -DEXTRA_CHARSETS=all \
  -DDEFAULT_COLLATION=utf8_general_ci \
  -DWITH_READLINE=1 \
  -DWITH_SSL=system \
  -DWITH_EMBEDDED_SERVER=1 \
  -DENABLED_LOCAL_INFILE=1 \
  -DWITH_INNOBASE_STORAGE_ENGINE=1

  常见错误
  -DWITH_BOOST=boost_1_59_0
  如果没有提前准备,可以使用下面的参数自己装。
  -DDOWNLOAD_BOOST=1
  -DWITH_READLINE=1 \ 5.6被移除
  如果cmake失败,请将CMakeCache.txt缓存移除 

编译

  # make       等待1个小时左右

安装

 # make install

初始化

# cd /usr/local/mysql
  # mkdir mysql-files
  # chown -R mysql.mysql .
  注意目录名称
  # bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  保存临时密码。
    x/dwiQ2<l:hb
  # bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
  建立MySQL配置文件my.cnf
  # vim /etc/my.cnf
  [root@mysql1 mysql]# vim /etc/my.cnf
  [mysqld]
  basedir=/usr/local/mysql
  datadir=/usr/local/mysql/data
  注意备份原配置文件

启动MySQL:  

# cp support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld       添加mysql服务(centos6)
# chkconfig mysqld on           开机自动启动mysql服务(centos6)
  
# service mysqld start            (centos6)
#systemctl    start   mysqld        (centos7)

#systemctl    enable   mysqld      (centos7)

# ps aux |grep mysqld
  
# mysql
-u root -p '密码' 登陆有问题吗? # /usr/local/mysql/bin/mysql -u root -p'x/dwiQ2<l:hb'   不要忘了配置新密码。 # /usr/local/mysql/bin/mysqladmin -u root -p 'x/dwiQ2<l:hb' password 'QinFeng@123'   show databases; 看到库即可。

 

推荐阅读