我是靠谱客的博主 迷人电话,最近开发中收集的这篇文章主要介绍mysql 安装,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.下载mysql压缩文件,地址

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

2.将压缩文件上传到服务器home文件夹下

3.创建文件夹

命令:mkdir /usr/local/mysql

4.解压mysql到此文件夹

命令:tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql

5.创建一个mysql用户和组()

命令:groupadd mysql

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

目的:

    让MySQL运行的时候使用一个独立的账号

如果MySQL被黑了那么开始拿到的权限就是那个创建的账号而不是默认的root

我们在编译安装的时候创建一个mysql组和一个mysql用户,并把datadir和安装目录属主改为mysql

在MySQL启动的时候,单进程mysqld,该进程的属主就是mysql

这样就保证了mysql服务的独立性,即使mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全

 

6.将位置更改为MySQL安装目录的顶级目录,通常是 /usr/local/mysql:

chown -R mysql:mysql ./

7.初始化数据目录,如果没有data,可以自己创建。(5.7版本和5.6初始化命令不一样,如果没有support-files/my_default.cnf,可以到网上找一份),创建sock指定的目录,如果没有目录的话。

命令:

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

 

8.复制配置文件

cp -a ./support-files/my_default.cnf /etc/my.cnf   (my-default.cnf这个文件可能没有)

cp -a ./support-files/mysql.server /etc/init.d/mysqld

9.启动

bin/mysqld_safe --user=mysql

10.如果需要远程连接,需要关闭防火前和需要赋权限

systemctl stop firewalld
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

 

遇到的问题

1.

mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
170408 09:53:13 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
170408 09:53:13 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended

修改my.cnf:

添加log-error=/usr/local/mysql/logs/mysql_err.log

并添加mysql_err.log文件,重启找原因,发现是内存太小导致启动失败

2. Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

默认mysql的链接是在/tmp/mysql.sock,当我们在my.cnf中定义了后,可以软连接过去

find / -name mysql.sock

ln -s /usr/local/mysql/mysqld/mysql.sock /tmp/mysql.sock

3.

You must reset your password using ALTER USER statement before executing this statement.

需要修改密码:

SET PASSWORD = PASSWORD('your new password');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

flush privileges;

4 当时网上copy my_default.cnf文件时,复制了一个

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

导致mysql 一直起不来。

最后

以上就是迷人电话为你收集整理的mysql 安装的全部内容,希望文章能够帮你解决mysql 安装所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部