MySql教程

Linux安装mysql5.7

本文主要是介绍Linux安装mysql5.7,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

mysql官网地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

查看系统中是否已安装mysql

#返回空则说明未安装
rpm -qa | grep mysql

如果已安装,则删除

yum -y remove 文件名

解压文件到指定目录

tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql

创建mysql用户组和用户

groupadd mysql
useradd -r -g mysql mysql

创建数据目录并赋予权限

mkdir -p  /data/mysql              #创建目录
chown mysql:mysql -R /data/mysql   #赋予权限

配置my.cnf

从Oracle官方了解到:mysql5.7.18 开始不在二进制包中提供 my-default.cnf 文件。

对于Linux上安装完mysql.5.7xxx版本后,可以按照以下步骤设置mysql的配置文件my.cnf

1. 在/etc目录下创建文件my.cnf,输入快捷命令touch my.cnf
2. 在创建的这个文件中进行参数设置,内容如下:

[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.server到/etc/init.d/目录下(目的想实现开机自动执行效果)

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

初始化数据库

/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

service mysql start    #启动
service mysql restart  #重启

查看mysql是否启动成功,有进程便代表启动成功

ps -ef|grep mysql

至此mysql安装成功!

设置mysql开机自启动,进入mysql的bin目录下

chkconfig --add mysql  #添加服务mysql
chkconfig mysql on     #设置mysql服务为自启动

建立软连接,否则每次操作都要去mysql的bin目录下

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

使用临时密码登录mysql

mysql -u root -p

执行以下操作,修改密码

SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;   

设置远程主机登录

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON *.* TO 用户名@"%" IDENTIFIED BY "密码";
flush privileges; #立即生效

查询数据库的用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

若开启远程连接之后依然无法连接,查看防火墙状态

systemctl status firewalld  #查看防火墙状态
systemctl start firewalld   #启动防火墙
systemctl stop firewalld    #关闭防火墙
systemctl disable firewalld #禁用防火墙

若使用的是云服务器,会有安全组,在云服务器所在的安全组中添加 3306端口权限即可

 

这篇关于Linux安装mysql5.7的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!