安装前准备:

现在Arch官方源是MariaDB,所以得从mysql官网下载,地址:https://www.mysql.com/downloads/

选择一个合适的版本下载:

下载下来先将压缩文件解压到/usr/local,将长长的文件夹名称改为mysql(方便)

mv mysql-5.7.-linux-glibc2.-x86_64 mysql

安装步骤:

1、创建用户组:

groupadd mysql             //创建用户组mysql
useradd -r -g mysql mysql //-r参数表示mysql用户是系统用户,不可用于登录系统,创建用户mysql并将其添加到用户组mysql中
chown -R mysql mysql/
chgrp -R mysql mysql/

2、创建配置文件

vim /etc/my.cnf

在该文件里面添加如下内容:

[client]
default-character-set=utf8
port =
socket = /tmp/mysql.sock [mysql]
default-character-set=utf8
port =
socket = /tmp/mysql.sock [mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#不区分大小写
lower_case_table_names =
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=
default-time_zone = '+8:00' # skip-grant-tables

3、初始化数据库

用下面语句初始化数据库:

bin/mysqld --initialize --user=mysql

执行的时候竟然出错了,报错如下:

libnuma.so.1: cannot open shared object file

缺少libnuma.so,安装numactl就可以解决这个问题:

sudo pacman -S numactl

再执行一次,OK了,安装顺利。

下面开启mysql服务并登陆:

/usr/local/mysql/support-files/mysql.server start

mysql -u root -p

不料这时又出现了错误(盗个图,当时我未截图):

缺少libncurses.so.5,在arch里是ncurses5-compat-libs,同样进行安装:

sudo pacman -S ncurses5-compat-libs 

安装之后再次登陆,结果发现了新的问题:

Access denied for user 'root'@'localhost' (using password:YES) 

解决这个问题需要修改mysql登录设置。

4、修改MySQL登录设置

(1)编辑/etc目录下面的my.cnf文件:

vim /etc/my.cnf

(2)在末尾追加语句:

 skip-grant-tables

(3)重新启动mysql:

/usr/local/mysql/support-files/mysql.server restart

(4)登陆mysql,按照如下步骤进行修改:

# /usr/local/mysql/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is to server version: 3.23.
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed mysql> UPDATE user SET authentication_string = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, rows affected (0.00 sec)
Rows matched: Changed: Warnings: mysql> flush privileges ;
Query OK, rows affected (0.01 sec) mysql> quit
Bye

(5)将/etc/my.cnf中的skip-grant-tables删除并保存退出,重启mysqld即可。

5、设置开机自启

这个目前还在摸索中。。。

6、出现的问题 

(1)今天登陆mysql,出现了一个问题:

Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysqld.pid).

尝试遍很多方法都没能解决,最后在这篇博客里面找到了答案:

https://www.interserver.net/tips/kb/mysql-error-server-quit-without-updating-pid-file/

我这里是将my.cnf改为my.cnf.bak就OK了,究竟是什么原因导致的,还需要进一步研究

(2)忘记root密码

把root密码忘记了,无法登陆mysql,起初以为更改密码很简单,但过程中还是遇到了一些问题:

首先要停止mysql服务:

/usr/local/mysql/support-files/mysql.server stop

用以下命令启动MySQL,以不检查权限的方式启动:

mysqld --skip-grant-tables &

但就是执行完这部后出了问题,出错如下:

InnoDB: The innodb_system data file 'ibdata1' must be writable
[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
[ERROR] InnoDB: Plugin initialization aborted with error Generic error [ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Failed to initialize builtin plugins.
[ERROR] Aborting

看着出错提示应该是权限问题,可以更改权限:

sudo chmod -R 777 mysql/*

在执行mysqld --skip-grant-tables & 就没有再出现错误

剩下的步骤参考上面修改mysql配置就可以

Manjaro安装mysql-5.7折腾小记的更多相关文章

  1. Ubuntu 16.04 安装Mysql 5.7 踩坑小记

    title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...

  2. Linux(Manjaro) - Docker - MySQL 安装配置

    Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...

  3. 非root模式下安装mysql php小记

    假设你的home目录为/home/work mysql-server 安装 1. 下载mysql.tar.gz wget http://dev.mysql.com/get/Downloads/MySQ ...

  4. 在ArchLinux、manjaro中安装MySql(mariaDB)

    安装MySql数据库.但是在MySql被Oracle收购之后,很多开源支持者就转而使用MariaDb了.不过MariaDb也和MySql兼容的,所以基本不用有什么担心.由于ArchLinux只带了Ma ...

  5. centos6.5 安装mysql 的过程

    Linux中使用最广泛的数据库就是MySQL,使用在线yum的方式安装的版本落后MySQL网站好几个小版本, 所以折腾了几个星期,终于在CentOS 装好了mysql5.6,装完之后,对整个linux ...

  6. 虚拟机下linux安装mysql,apache和php

    由于腿伤了,卧床在家折腾下linux,尝试用虚拟机装mysql,apche和php.中间各种波折,装了好几天,觉得有些经验还是要记录下来,让自己别忘了:) 按照下面这篇文章的方法,基本可以顺利安装成功 ...

  7. Ubuntu 12.04 安装MySQL

    本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天 ...

  8. [CentOs7]安装mysql(2)

    摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...

  9. ubuntu上安装mysql 编译安装

    为什么要折腾?首先说明的是ubuntu上安装mysql等软件是非常容易简单的,其简单的程度盖过windows上的安装,一句sudo apt-get install就可以搞定.如果想用最简便的方法安装m ...

  10. 源代码安装 MySQL 5.6.28

    本文内容 创建 MySQL 用户和组 解压 MySQL 源代码包 生成配置安装文件 编译和安装 MySQL 配置文件 创建 MySQL 授权表 MySQL 目录授权 启动 MySQL 验证 MySQL ...

随机推荐

  1. 单独使用MyBatis的简单示例

    单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ...

  2. 【kubeconfig】kubectl命令所使用的集群访问文件

    kubectl默认会从$HOME/.kube目录下查找文件名为 config 的文件,也可以通过设置环境变量 KUBECONFIG 或者通过设置 --kubeconfig 去指定其它 kubeconf ...

  3. 【JS新手教程】LODOP打印复选框选中的任务或页数

    之前的博文:[JS新手教程]LODOP打印复选框选中的内容关于任务:Lodop打印语句最基本结构介绍(什么是一个任务)关于本文用到的JS的eval方法:JS-JAVASCRIPT的eval()方法该文 ...

  4. Sublime Text3安装及常用插件安装

    为了使用强大好用的代码编辑器来进行selenium3+Python3的自动化测试. 使用Sublime Text 3非常适合. 1.下载安装 首先到http://www.sublimetext.com ...

  5. Linux下的Curses库的源码下载与安装

    curses库是可以在linux终端中写出字符用户界面的一个库,现在较新的版本应该是ncurses库,现在已经很少有人再去使用他了,所以想拥有这个库并且在linux下写出自己用户界面的可以参考一下本博 ...

  6. D1. Docker: win7 环境下安装 Docker

    [下载与安装] win7.win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-too ...

  7. 关于/etc/rc.local

    /etc/rc.d/rc.local 用于添加开机启动命令 /etc/rc.local是/etc/rc.d/rc.local的软连接 简单来说 开机自启的

  8. Ubuntu bashrc profile environment 区别

    在 Ubuntu 中有如下几个文件可以设置环境变量: /etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...

  9. hdu 5418 题解

    第一眼看到这题,哇,这不是我刚做完的题吗?大水题!然后 这题表面很水,实际上有点坑. 题意 求经过 $ 1 - n $(不能遗漏) 并且回到 $ 1 $ 的最短路. 在看这题之前我们可以来看下这题 最 ...

  10. DjangoRestful 递归嵌套序列化器实现

    **** 由于博客园不支持markdown语法,所以推荐以下链接阅读: 原创 https://blog.csdn.net/weixin_42495873/article/details/8943354 ...