前言
网上已经有很多安装Mysql数据库的帖子了,但是秉着Cv的原则依然出错,说明还是有某些细节没有体现出来,今天在安装时确实遇到了些小问题,仅此分享出来,希望能帮到路过的小伙伴。
差异
1、操作系统:对于操作系统来说,Centos6 和Centos7是不一样的。
2、Mysql版本:对于数据库版本来说,5.7和此版本之前的版本在忘记密码修改的情况下也是不同的。 比如
5.7之前版本忘记密码修改时语句为:update user set password=password(“你的新密码”) where user=“root”;
5.7版本修改语句为:
UPDATE user SET authentication_string=PASSWORD(‘你的新密码’) where USER=‘root’;
正文
PS:本文的安装环境为: Centos7(64位);Mysql5.7;非此环境请参考别的帖子。
1、检查机器环境
检查是否是64还是32
uname -r
返回:此环境为64
2、下载tar包,指定自己自定义目录执行
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
3、解压并移动,移动不是必须的,但是我后面的配置里有指定文件目录,如果想cv安装请一直复制,不是则自己修改包路径
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
4、移动
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql-5.7.26
5、改名
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql-5.7.26
6、创建 用户,并给数据目录赋予权限;创建mysql组和用户
groupadd mysql
useradd -r -g mysql mysql
7、创建mysq数据目录
cd /
mkdir -p data
cd data/
mkdir -p mysql
8、赋予权限
chown mysql:mysql -R /data/mysql
9、配置参数
vi /etc/my.cnf
参数明细,把下面内容复制进去 。如果要修改成自己的自定义路径,请在此处修改
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql-5.7.26
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
10、初始化mysql
cd /usr/local/mysql-5.7.26/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-5.7.26/ --datadir=/data/mysql/ --user=mysql --initialize
11、查看初始密码,复制出来,主要初始密码不能修改,后面有修改成自定义密码的操作,此处不能动。
vi /data/mysql/mysql.err
12、启动mysql,并更改root 密码
service mysqld start
出现此图为正常
但是在安装会出现问题如下问题
Redirecting to /bin/systemctl start mysqld.service
Failed to start mysqld.service: Unit not found.
解决办法:
查询/etc/init.d/下是否存在mysql
ll /etc/init.d/ | grep mysql
发现该目录下并没有mysql的文件,若存在,请备份一下,不存在执行下面
查询mysql.server。
mysql.server一般在你安装的mysql目录下,自己是编译安装,所以知道目录在哪里,不知道的这样看一下
find / -name mysql.server
执行复制操作,/usr/local/mysql/是我自己的mysql安装目录,大家根据查询出来的结果复制
需要根据自己的安装路径修改,
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
在执行: service mysqld start ,出现成功截图
查看是否启动
ps -ef|grep mysql
13、修改密码
cd /usr/local/mysql-5.7.26/bin
mysql -u root -p
出现错误:
-bash: mysql: command not found
解决办法:
指向mysql目录
alias mysql=/usr/local/mysql-5.7.26/bin/mysql
然后修改密码
use mysql;
UPDATE user SET authentication_string=PASSWORD('密码') where USER='root';
# 必须立即生效
FLUSH PRIVILEGES;
重启:
/etc/init.d/mysql restart
在 navitve远程连接报错
参考:https://blog.csdn.net/vv19910825/article/details/82979563