下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
解压
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
再移动并重命名一下
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
配置my.cnf
vim /etc/my.cnf
内容如下
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
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
explicit_defaults_for_timestamp=true
初始化数据库
进入mysql的bin目录
cd /usr/local/mysql/bin/
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
第一次初始化数据库失败
注意:初始化会出现缺少依赖包libaio
安装 yum install -y libaio
第二次初始化数据库失败
配置文件出错检查配置文件my.cnf 第2行,应该是标点或者字符错误导致,修改为正确的配置即可。
有时也会出现下面错误信息:
从错误信息看出是错误日志的输出文件不存在,那么创建在这个目录下的文件即可,创建好之后发现又出现下面问题:
从错误信息得知是权限问题,那么赋权限喽!
执行下面的命令赋予权限,并再次执行初始化命令,没有消息就是好消息!!!
[root@localhost bin]# sudo chown -R mysql:mysql /var/log/mariadb
[root@localhost bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
[root@localhost bin]#
查看密码
cat /data/mysql/mysql.err
启动mysql,并更改root 密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动!!!
service mysql start
ps -ef|grep mysql
到这里说明mysql已经安装成功了!!
当我再次安装后出现报错,解决方法也一并截图了!
执行下面命令即可:
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
# 用户组及用户
chown -R mysql:mysql /var/log/mariadb/
/usr/local/mysql/support-files/mysql.server start
上述基本情况都已经涵盖了!!
下面修改密码
首先登录mysql,前面的那个是随机生成的。
./mysql -u root -p #bin目录下
再执行下面三步操作,然后重新登录。
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
这时候你如果使用远程连接……你会发现你无法连接。
这里主要执行下面三个命令(先登录数据库)
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
如果出现Navicat连接mysql服务端一直失败
Navicat连接mysql服务端,切记防火墙关闭
并且设置关闭防火墙开机自启动
OK,万事大吉!
如果不希望每次都到bin目录下使用mysql命令则执行以下命令,建立软链接
ln -s /usr/local/mysql/bin/mysql /usr/bin
为了防止版本不同而导致安装失败……这里我把MySQL的包放在百度云上。
链接: https://pan.baidu.com/s/1oZLaBAELK9tuB1FCfQfzUg 提取码: mvji