遇到需要在新系统上安装MySQL的事情,简单记录一下过程。

声明:最好的文档是官方文档,我也是看的官方文档,只是中间遇到点问题,记录一下出现的问题和处理方式。贴一些官方文档地址。

用tar包的安装方式:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

用yum源等其他安装方式:https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html

我那个里条件限制选择的tar包方式,其他方式的自己看官方文档吧,更简单。

1、去下载一个tar包:https://dev.mysql.com/downloads/mysql/,我用的CentOS7.4,各自选择对应的版本下载就行了,包括下面步骤中的命令,不同系统可能也会有区别,注意根据自己系统修改。

2、将下载的安装包上传到服务器的/opt目录下。

3、新建用户组和添加mysql用的非登录用户

groupadd mysql;

useradd -r -g mysql -s /bin/false mysql;

4、切换到安装路径下,这里使用官方推荐的路径,然后将tar包解压到这里,再给安装目录创建个软连接,剩余的操作都是操作的软连接目录。

cd /usr/local

tar zxvf /opt/mysql-5.7.21-el7-x86_64.tar.gz;

ln -s mysql-5.7.21-el7-x86_64/ mysql

写入环境变量

export PATH=$PATH:/usr/local/mysql/bin

5、进入软连接目录,创建文件夹和授权

cd /usr/local/mysql;

mkdir mysql-files;

chown mysql:mysql mysql-files;

chmod 750 mysql-files;

6、初始化数据库的部署数据,用--initialize会给root生成一个默认密码,--initialize-insecure不生成密码,还有--basedir和--datadir参数用法一样,这些配置可以去cat /etc/my.cnf中查看和修改,默认配置满足我的需求我初始化就不指定了

bin/mysqld --initialize --user=mysql

结果报了个错bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

这是缺少包造成的,如果已经安装了libnuma.so.1,先yum remove libnuma.so.1,然后重新安装64位的

yum install numactl.x86_64

之后再重新执行mysql初始化命令,就可以了,记住下面这个密码,首次登陆要用,登陆后会再修改。

如果要用mysql_ssl_rsa_setup创建默认的SSL和RSA文件就执行

bin/mysql_ssl_rsa_setup

7、到这里安装就结束了,启动服务,用推荐的mysqld_safe方式启动,做了安全优化和服务挂了能自动重启等功能,可以自己查一下。

bin/mysqld_safe --user=mysql &

结果报错了mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

这个看应该是权限问题,增加权限配置,

mkdir /var/log/mariadb/;

touch /var/log/mariadb/mariadb.log;

chown -R mysql:mysql /var/log/mariadb/

再重新执行,还是有错

分析/var/log/mariadb/mariadb.log日志, Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory),同样的处理方式

mkdir /var/run/mariadb/;
chown -R mysql:mysql /var/run/mariadb/

再次执行mysqld_safe,成功

8、登录并修改密码

mysql -u root -p

输入密码,密码是初始化时候显示的那个,结果,又双叒叕报错了。。。Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

这个问题应该是多种解决方法,例如在/tmp目录下建立软连接,修改配置文件等,我是修改的配置文件

vi /etc/my.cnf   增加下面两行配置socket的路径,保存之后重启服务,再输入用户名密码能登录了

修改默认的密码,要不然什么操作也不能做。

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

9、mysql默认只能本机连接,如果需要远程连接数据库,需要配置远程连接,我们采用新增一个用户的方式,当然你也可以选择修改原来的root用户。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

10、如需要配置开机自启,按下面操作

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

chmod +x /etc/init.d/mysql

chkconfig --add mysql

执行chkconfig --list查看列表,

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则输入chkconfig --level 345 mysql on

到这里从安装到配置基本就结束了,如果没有特殊要求,这些步骤就满足正常使用了,时间太紧张排版有点乱,毕竟不是为了上热门,只是日常积累,懒得排版了,有需要的凑合看吧

mysql安装和遇到的问题处理的更多相关文章

  1. linux Mysql 安装及配置

    1.准备 cmake-3.6.0.tar.gz bison-3.0.4.tar.gz mysql-5.7.13.tar.gz (http://dev.mysql.com/get/Downloads/M ...

  2. mysql安装一 --- 源码包安装

    1.登陆http://www.mysql.com/ 或者 www.oracle.com 2. 3. 4. 上面如果不能加载,禁用代理软件 5. 6. 7. 8. 9.上传 10.md5校验安装包的完整 ...

  3. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

  4. mysql 安装问题

    针对免安装版的mysql: 1.启动CMD,在mysql安装目录下  ~\bin\目录下,输入: mysqld -install   安装msyql服务: 2.启动MySQL服务,输入: net st ...

  5. 001.mysql安装(lnmp)

    mysql官方网站:http://dev.mysql.com/downloads/ Linux环境:刚安装的32位的“最小化安装“的CentOS 6.7 mysql版本:本次实验安装的是mysql5. ...

  6. MySQL安装步骤

    MySQL安装步骤 1. 下载MySQL Community Server 5.6.21,注意选择系统类型(32位/64位) 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. ...

  7. mysql安装配置

    MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言. MySQL由于其体积小.速度快 ...

  8. LNMP平台搭建---MySQL安装篇

    在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...

  9. MySQL的下载与安装 和 navicat for mysql 安装使用

    新手上路-MySQL安装 目录结构 Windows平台 MySQL安装 示例数据导入 Linux平台 CentOS系统 Ubuntu系统 FAQ 密码生成工具-keepass 修改提示符 图形工具 删 ...

  10. MySQL 安装 + 精简 + 配置

    MySQL 安装 + 精简 + 配置 下载安装 从官网 下载 Community Edition MySQL 5.6 版本 精简 根目录下只留 [data/bin/share] , my-defaul ...

随机推荐

  1. 【Leetcode_easy】914. X of a Kind in a Deck of Cards

    problem 914. X of a Kind in a Deck of Cards 题意:每个数字对应的数目可以均分为多组含有K个相同数目该数字的数组. 思路:使用 map 结构记录数组中每个元素 ...

  2. vue 静态资源文件夹src下的assets 和static的区别

    static下的静态资源在项目打包的时候,直接在dist文件夹下直接把static文件夹打包进去src下的assets,在打包时,vue是按照模块来引入里面的静态资源,一般使用这种方式

  3. 重磅!滴滴跨端框架Chameleon 1.0正式发布

    滴滴在 GitHub 上开源的跨端解决方案 Chameleon(简写 CML)正式发布 1.0 版本,中文名卡梅龙:中文意思变色龙,意味着就像变色龙一样能适应不同环境的企业级跨端整体解决方案,具有易用 ...

  4. .bashrc修改环境变量文件后ls之类的不能用了

    在命令行中输入 export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin之后在修改回来

  5. Haproxy+keepalived高可用集群实战

    1.1  Haproxy+keepalived高可用集群实战 随着互联网火热的发展,开源负载均衡器的大量的应用,企业主流软件负载均衡如LVS.Haproxy.Nginx等,各方面性能不亚于硬件负载均衡 ...

  6. Jetty的安装和配置

    Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将 ...

  7. 在eNSP上简单的模拟企业网络场景(不同网段互连)

    额..首先你要有eNSP工具和Wireshark抓包工具,没有的话可以上网搜索一下,最好下载最新版本的,新版本中拥有更多型号的机器 这个实验我们主要模拟某公司购买了新的路由器和交换机.交换机S1连接客 ...

  8. Linux 脚本语言入门

    0.脚本编写初步介绍 (1)脚本第一行以 #!/bin/sh 开始,也可以用 #!/bin/bash 开始,但是第一行必须以这种方式开始. (2)脚本名需要以.sh结尾 (3)#开头的句子表示注释 ( ...

  9. [转帖]Red Hat K8s 关键人物 Grant Shipley 跳槽到 VMware

    Red Hat K8s 关键人物 Grant Shipley 跳槽到 VMware   https://news.cnblogs.com/n/641944/ 这四小时的工作效率 太无敌了.. 投递人  ...

  10. crontab每小时运行一次

    先给出crontab的语法格式 对于网上很多给出的每小时定时任务写法,可以说绝大多数都是错误的!比如对于下面的这种写法: 00 * * * * #每隔一小时执行一次 00 */1 * * * #与上面 ...