mysql安装方式有三种,本文记录一下RPM包的安装过程。
首先,在官网下载MySQL的RPM安装包,
传送门:https://dev.mysql.com/downloads/mysql/
向下滑动,在Select Operating System下拉列表中找到Red Hat Enterprise Linux / Oracle Linux选项,待下面的列表刷新后选择Bundle版本下载即可:如下
点击下载按钮,跳转到如下界面:
右键点击上图中红圈内的超链接,选择复制链接地址。在服务器中使用wget命令+复制得到的链接地址就可以下载RPM安装包了。
下载完成后,使用tar命令解压该压缩文件。
tar -xvf mysql-8.0.12-1.el7.x86_64.rpm-bundle.tar
得到如下文件:
mysql-community-client-8.0.12-1.el7.x86_64.rpm
mysql-community-common-8.0.12-1.el7.x86_64.rpm
mysql-community-devel-8.0.12-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.12-1.el7.x86_64.rpm
mysql-community-libs-8.0.12-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.12-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-8.0.12-1.el7.x86_64.rpm
mysql-community-server-8.0.12-1.el7.x86_64.rpm
mysql-community-server-minimal-8.0.12-1.el7.x86_64.rpm
mysql-community-test-8.0.12-1.el7.x86_64.rpm
在使用rpm命令安装前,需要删除电脑中存在的旧版本MySQL或者MariaDB。
使用如下命令查看是否安装了mysql:
rpm -qa | grep mysql
如果存在,使用rpm -e命令删除掉即可,同时删除/usr/share/mysql、/var/lib/mysql文件夹和/etc/my.cnf文件。MariaDB的检测方法同MySQL。
我们还要保证系统中的mysql用户对/var/lib/mysql文件夹的拥有操作权限,否则安装成功后可能会丢失mysql.sock文件或出现权限错误。如果没有mysql用户组自行创建即可。修改权限语句如下:
chown -R mysql:mysql /var/lib/mysql
以上操作完成后便可以开始安装mysql,安装命令如下:
rpm -ivh mysql-community-common-8.0.12-1.el7.x86_64.rpm
RPM安装MySQL需要注意文件的安装顺序,我们只需安装四个文件即可。common、libs、client、server,安装顺序同此,否则会报类似于下面的错误:
error: Failed dependencies:
mysql-community-client(x86-64) >= 8.0.0 is needed by mysql-community-server-8.0.12-1.el7.x86_64
mysql-community-common(x86-64) = 8.0.12-1.el7 is needed by mysql-community-server-8.0.12-1.el7.x86_64
安装server时,可能报如下错误:
error: Failed dependencies:
libaio.so.1()(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
造成上述问题的原因就是缺少依赖包。
解决方法:复制下面传送门的链接地址,在服务器上面使用wget命令获取libaio的RPM安装包。libaio安装成功后即可重新安装server。
传送门:http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
MySQL安装成功后,我们准备进行登录。
首先,配置MySQL的配置文件my.cnf
vim /etc/my.cnf
添加如下配置(修改mysql的编码字符,统一为utf8):
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
注意:在配置文件的[mysqld]标签中使用如下配置会报错使MySQL无法启动,具体原因不清楚,如果有了解的可以分享一下。
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
设置登录密码:在网上看到了很多种方法,比如使用mysql_install_db --datadir=/var/lib/mysql命令生成密码文件,使用mysqld_safe --skip-grant-tables &命令绕过验证机制,但在实践的过程中都没有成功,故使用另外一种方法,使用mysqld --initialize命令,在mysql的log文件/var/log/mysqld.log中生成随机密码,log文件记录格式如下:
2018-10-10T03:37:16.145163Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: )oS7hwW2Yw2g
启动mysql服务
systemctl start mysqld.service
使用上面的随机密码登录进入MySQL:
[root@noteclass data]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.12
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
接下来我们要修改密码,否则我们没有权限来操作这个数据库,在数据库中执行如下MySQL命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
设置完毕后,以后就可以使用新密码登录MySQL了,至此,安装结束。