CentOS7系统在安装时就会自带mariadb,是mysql的一个分支。一般我们都是在X86的机器上,运行mysql,ARM服务器由于目前的生态不如intel,所以用的不广泛。但是ARM架构的处理器,在功耗上是一个很大的天然优势,所以仍有许多人在攻坚ARM生态。本篇博客就介绍如何在ARM服务器上安装mysql。

1,卸载CentOS 自带的mariadb

输入以下命令:
 [root@master ~]# rpm -qa | grep mariadb
 mariadb-libs-5.5.56-2.el7.aarch64
 [root@master ~]#
 可以看到上面已经安装了mariadb-libs-5.5.56-2.el7.aarch64
 我们要卸载mariadb
 输入下面命令:
 rpm -e mariadb-libs-5.5.56-2.el7.aarch64 --nodeps
 再次输入
 [root@master etc]# rpm -qa | grep mariadb
 [root@master etc]#
 可以看到mariadb已经不见了,这样就已经卸载了mariadb

2,下载ARM相关的 yum repository

进入官网https://dev.mysql.com/downloads/repo/yum/

arm架构无法install centOS7 arm架构如何安装centos_mysql 

选择第一个下载。
 下载后,把rpm包上传到服务器随便一个目录下
 然后输入下面的命令:
 [root@master ~]# yum install -y mysql80-community-release-el7-2.noarch.rpm
 安装完成后进入以下的目录
 [root@master ~]# cd /etc/yum.repos.d/
 [root@master yum.repos.d]# ll
 total 64
 -rw-r–r--. 1 root root 389 Sep 10 2018 CentOS-Base.repo
 -rw-r–r--. 1 root root 1370 Apr 29 2018 CentOS-CR.repo
 -rw-r–r--. 1 root root 709 Apr 29 2018 CentOS-Debuginfo.repo
 -rw-r–r--. 1 root root 246 Apr 29 2018 CentOS-fasttrack.repo
 -rw-r–r--. 1 root root 690 Apr 29 2018 CentOS-Media.repo
 -rw-r–r--. 1 root root 1573 Apr 29 2018 CentOS-Sources.repo
 -rw-r–r--. 1 root root 6411 Apr 29 2018 CentOS-Vault.repo
 -rw-r–r--. 1 root root 282 Sep 10 2018 epel.repo
 -rw-r–r--. 1 root root 1050 Oct 3 2017 epel-testing.repo
 -rw-r–r--. 1 root root 121 Jul 18 2018 HXTRepo.repo
 -rw-r–r-- 1 root root 1864 Mar 12 14:20 mysql-community.repo
 -rw-r–r-- 1 root root 1885 Jan 17 18:51 mysql-community-source.repo
 -rw-r–r-- 1 root root 130 Jan 27 02:40 yarn.repo
 可以看到里面多了两个源:mysql-community.repo和mysql-community-source.repo,有了这两个源,就可以安装mysql了。
 看一下这两个源的内容。
 [root@master yum.repos.d]# cat mysql-community.repo
 [root@master yum.repos.d]# Enable to use MySQL 5.5
 [mysql55-community]
 name=MySQL 5.5 Community Server
 baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
 enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[root@master yum.repos.d]# Enable to use MySQL 5.6
 [mysql56-community]
 name=MySQL 5.6 Community Server
 baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
 enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[root@master yum.repos.d]# Enable to use MySQL 5.7
 [mysql57-community]
 name=MySQL 5.7 Community Server
 baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
 enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql80-community]
 name=MySQL 8.0 Community Server
 baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
 enabled=1
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-connectors-community]
 name=MySQL Connectors Community
 baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
 enabled=1
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-tools-community]
 name=MySQL Tools Community
 baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
 enabled=1
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-tools-preview]
 name=MySQL Tools Preview
 baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/$basearch/
 enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-cluster-7.5-community]
 name=MySQL Cluster 7.5 Community
 baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/7/$basearch/
 enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql-cluster-7.6-community]
 name=MySQL Cluster 7.6 Community
 baseurl=http://repo.mysql.com/yum/mysql-cluster-7.6-community/el/7/$basearch/
 enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
 [root@master yum.repos.d]# ^C
 [root@master yum.repos.d]#
 查看里面的内容,可以看到mysql5.7版本是禁止使用的,这里可以使用的就是8.0版本
 你也可以更改自己想要下载的版本,只需把那一项后面设置为enabled=1即可
 输入下面命令查看mysql的相关包
 [root@master ~]# yum repolist enabled | grep “mysql.-community.”
 [root@master ~]# yum repolist enabled | grep “mysql.-community.”
 mysql-connectors-community/aarch64 MySQL Connectors Community 36
 mysql-tools-community/aarch64 MySQL Tools Community 13
 mysql80-community/aarch64 MySQL 8.0 Community Server 33
 [root@master ~]#
 可以看到已经有了相关的安装包,接下来就是安装mysql3,安装mysql
 输入下面的安装命令:
 [root@master ~]# yum install –y mysql-community-server
 安装完成后,
 启动mysql
 [root@master ~]# systemctl start mysqld.service
 查询状态
 [root@master ~]# systemctl status mysqld.service
 ?mysqld.service - MySQL Server
 Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
 Active: active (running) since Tue 2019-03-12 15:33:35 CST; 1h 45min ago
 Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 10165 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 10239 (mysqld)
 Status: “SERVER_OPERATING”
 CGroup: /system.slice/mysqld.service
 忖10239 /usr/sbin/mysqldMar 12 15:33:13 master systemd[1]: Starting MySQL Server…
 Mar 12 15:33:35 master systemd[1]: Started MySQL Server.
 [root@master ~]#
 查看初始密码
 [root@master ~]# cat /var/log/mysqld.log
 2019-03-12T07:29:30.111526Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15) MySQL Community Server - GPL.
 2019-03-12T07:33:13.444733Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.15) initializing of server in progress as process 10186
 2019-03-12T07:33:24.093381Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: -.dqhAgnk6i8
 2019-03-12T07:33:31.089426Z 0 [System] [MY-013170] [Server] /usr/sbin/mysqld (mysqld 8.0.15) initializing of server has completed
 2019-03-12T07:33:33.982510Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.15) starting as process 10239
 2019-03-12T07:33:35.291228Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
 2019-03-12T07:33:35.369184Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: ‘8.0.15’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 MySQL Community Server - GPL.
 2019-03-12T07:33:35.460769Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: ‘/var/run/mysqld/mysqlx.sock’ bind-address: ‘::’ port: 33060
 黑色字体的就是初始密码:
 Mysql登录
 [root@master ~]# mysql –u root –p
 Enter password:
 上面输入初始密码回车即可
 修改初始密码:
 Mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’。设置密码最好是字母数字符号的组合,不然不会通过。
 修改密码后,退出quit
 然后重新用新密码登录即可
 最后进行远程访问的授权mysql> create user ‘root’@’%’ identified with mysql_native_password by ‘root’;
 mysql> grant all privileges on . to ‘root’@’%’ with grant option;
 mysql> flush privileges;
 至此CentOS7+ARM下的mysql就安装完成了遇到的问题:
 在启动mysql时,systemctl start mysqld.service
 出现:Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.
 /var/log/mysqld.log 报错如下:
 /usr/sbin/mysqld (mysqld 8.0.15) starting as process 7561
 2019-03-12T05:55:03.334433Z 1 [ERROR] [MY-013090] [InnoDB] Unsupported redo log format (0). The redo log was created before MySQL 5.7.9
 2019-03-12T05:55:03.334500Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
 2019-03-12T05:55:03.935589Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
 2019-03-12T05:55:03.936393Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
 2019-03-12T05:55:03.936879Z 0 [ERROR] [MY-010119] [Server] Aborting
 2019-03-12T05:55:03.939402Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.15) MySQL Community Server - GPL.
 解决办法:
 在 /var/lib/mysql目录下新建一个data文件夹
 修改/etc/的目录下,my.cnf文件
 datadir=/var/lib/mysql/data 即可解决!!设置可以设置简单密码的方法:
 1,显示变量命令:mysql> SHOW VARIABLES LIKE ‘validate_password%’;
 2,修改变量:set global validate_password.policy=0;
 set global validate_password.length=4;
 退出后执行:mysql_secure_installation,继续就可以设置简单密码了。