安装前准备:

现在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. MySQL普通索引性能试验

    首先使用如下node.js脚本创建两张表,并为这两张表各自生成10000条数据: var fs = require('fs'); var nameS = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱 ...

  2. 【Leetcode_easy】1037. Valid Boomerang

    problem 1037. Valid Boomerang 参考 1. Leetcode_easy_1037. Valid Boomerang; 完

  3. IDEA springboot maven 引用第三方jar包

    1.在左侧项目里新建一个 lib 文件夹,把第三方jar 包复制进去 . 2.修改pom.xml ,dependencies配置节增加,plugins 配置节做修改. dependencies配置节增 ...

  4. [MySQL]MySQL数据库中如何查询分组后每组中的最后一条记录?

    原文地址:https://codedefault.com/s/how-can-i-retrieve-the-last-record-in-each-group-mysql 问题描述 比如,在MySQL ...

  5. SpringBoot里自定义banner

    国外有一个专门用来生成banner的网址:http://patorjk.com/software/taag ,打开这个网址,生成你想要的字儿. 生成时,我们可以选择自己喜欢的字体等信息. 完成后,选择 ...

  6. win7和Ubuntu16.04之间相互远程控制

    一.在win7中远程控制ubuntu16.04 步骤: 在ubuntu中通过Desktop share打开允许远程访问 ubuntu中安装xrdp 由于xrdp与unity.gnome桌面不兼容,所以 ...

  7. centOS安装配置NFS

    环境 nfs 192.168.56.101 client 192.168.56.102 一.yum 安装 yum -y install nfs-utils rpcbind 192.168.56.101 ...

  8. 设计模式之--Visitor

    Ref: https://www.jianshu.com/p/feec47a25b67 https://www.cnblogs.com/alphablox/p/5346567.html

  9. gensim中word2vec

    from gensim.models import Word2Vec Word2Vec(self, sentences=None, size=100, alpha=0.025, window=5, m ...

  10. linux定时任务每隔5分钟向文本追加一行

    编写shell脚本 test.sh内容如下,上传到linux的root目录 更改文件权限 chmod  777   test.sh 编辑定时任务 crontab  -e */5    *  *  *  ...