Linux安装MySQL
一、下载MySQL
https://dev.mysql.com/downloads/mysql/
选择合适的系统进行下载
点击这里可以下载MySQL以前的版本,选择适合自己电脑的系统版本进行下载
二、上传到Linux服务器
可以在Linux服务器上新建一个临时文件夹,使用Xftp上传到这个文件夹
解压文件
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
再移动并重命名一下
mv mysql-5.7.21-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
查看密码
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已经安装成功了!!
下面修改密码
首先登录mysql,前面的那个是随机生成的。
./mysql -u root -p #bin目录下
再执行下面三步操作,然后重新登录。
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
用navicat连接数据库,发现连接不上
这里主要执行下面三个命令(先登录数据库)
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
再次测试,连接成功
如果不希望每次都到bin目录下使用mysql命令则执行以下命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
#编辑mysql初始化文件
$ vim /etc/my.cnf
#在文件最后一行添加,跳过密码登录
$ skip-grant-tables
#在bin目录下
$ mysql -u root -p
#回车后,要求输入密码,直接回车跳过,则直接进入MySQL。
$ use mysql;
#降低密码复杂度限制
$ set global validate_password_policy=0;
#降低密码长度限制
$ set global validate_password_length=4;
#修改root用户的初始密码:
$ alter user 'root'@'localhost' identified by '123456';
#授权远程连接
$ GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '123456';
#刷新权限
$ flush privileges;
#查看防火墙状态
$ systemctl status firewalld.service
#禁止防火墙服务器
$ systemctl disable firewalld.service
#启动防火墙服务器
$ systemctl start firewalld.service
#停止防火墙服务器
$ systemctl stop firewalld.service
ok!!!!MySQL5.7就装好了