MySQL5.7安装方式
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; 看到库即可。