下载地址
https://downloads.mysql.com/archives/community/
解压
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
#0:大小写敏感;1:大小写不敏感
lower_case_table_names=1
cd /usr/local/MysqL/bin/
初始化
./MysqLd --defaults-file=/etc/my.cnf --basedir=/usr/local/MysqL/ --datadir=/data/MysqL/ --user=MysqL --initialize
在centos 7.0 系统上安装 MysqL 5.7.19的数据库,使用的是官网上编译好的安装包MysqL-5.7.19-linux-glibc2.12-x86_64.tar.gz,下载解压后,就可以使用需要安装。
但是解压后运行数据库初始化时出现了报错:
/usr/local/MysqL/bin/MysqLd --initailize --user=MysqL --basedir=/usr/local/MysqL --datadir=/www/MysqL/data
运行该命令后出现的报错如下:
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
rpm -qa|grep libaio
使用命令,yum install libaio-devel.x86_64
查看密码
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 -u root -p #bin目录下
要是进不去报:
vim /etc/my.cnf
加入信息
[MysqLd]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
保存并退出 :wq
2、重启MysqL服务
service MysqL restart
重置密码
在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = Now() where user = 'root'; MysqL> use MysqL; MysqL> update user set password=password("你的新密码") where user="root"; MysqL> flush privileges; MysqL> quit;
远程连接:
linux下MysqL开启远程访问权限及防火墙开放3306端口
1、登陆MysqL
MysqL -u root -p
2、设置访问地址
use MysqL #访问MysqL库
update user set host = '%' where user = 'root'; #使root能再任何host访问
如果你想允许用户root从ip为192.168.1.123的主机连接到MysqL服务器,并使用root作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123'IDENTIFIED BY 'password' WITH GRANT OPTION;
3、刷新
flush privileges;
防火墙开启
1、开启端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
2、重启防火墙
firewall-cmd --reload
查看已经开放的端口:
firewall-cmd --list-ports
MysqL设置开机自启
[root@wangpeng /]# cp /usr/local/MysqL/support-files/MysqL.server /etc/init.d/MysqLd [root@wangpeng /]# chmod +x /etc/init.d/MysqLd [root@wangpeng /]# chkconfig --add MysqLd