centos7下安装mysql5.7

1.官网找到 https://dev.mysql.com/downloads/repo/yum/

2.wget https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

若果报错误:warning: mysql80-community-release-el8-1.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

解决:rpm --import /etc/pki/rpm-gpg/RPM*

重新  rpm -ivh mysql80-community-release-el7-3.noarch.rpm

说明:虽然下载的源文件名字为mysql80-community-release-el7-3.noarch.rpm,不用担心,里边其实是包含了我们所要装的版本

yum repolist all | grep mysql 

可以看到,默认的安装源为mysql80-community版本

配置默认源5.7

使用yum-config-manager --disable mysql80-community来取消mysql80-community的默认安装,然后

使用yum-config-manager --enable mysql57-community来使能mysql57-community成为yum默认安装版本。

安装

执行安装命令:

yum install mysql-community-server

使用yum安装mysql5.7过程中报错:All matches were filtered out by modular filtering for argument: mysql-community-server

先执行:yum module disable mysql
再执行:yum install mysql-community-server

b编辑文件

/etc/yum.repos.d/mysql-community.repo

修改gpgcheck=0即可

 

yum -y install mysql-devel

启动mysql服务

systemctl restart mysqld.service //重启mysql服务

systemctl status mysqld.service //查看mysql状态

systemctl stop mysqld.service //停止mysql服务
————————————————

获取临时密码

临时密码存在/var/log/mysqld.log中,使用如下命令查看:

grep "temporary password" /var/log/mysqld.log

登陆mysql

mysql -u root -p

Enter password:

必须先修改密码

alter user 'root'@'localhost' identified by 'xxxxx';

 

然后重启mysql

重新进入 创建新账号

use mysql

CREATE USER ‘db‘@‘%‘ IDENtIFIED BY ‘123456‘;

grant all privileges on *.* to 'db!!'@'%' identified by 'xxx' with grant option; 修改权限

// pig 是用户名,@后面的是指定ip(如果不限制只能在某个ip,@后面改为‘%’),by后面的是 密码

--进入mysql > update user set authentication_string = password('root') where user='root'; 后面跟分号 密码策略:大小写字母+数字+特殊符号

 

也可忽略验证:

vim /etc/my.cnf

增加 

skip-grant-tables 忽略验证  保存,重新运行mysql  mysql -u root -p  直接enter 进入不用输入密码 
修改用户密码:
update user set authentication_string = password('root') where user='root'; 
root 登录后
一定要修改密码

      alter user 'root'@'localhost' identified by 'test';

然后就可以了。

navicat 创建数据库的时候报错误:

CREATE DATABASE `douyin_livebroad` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'
> 1044 - Access denied for user 'zshd_db!!'@'%' to database 'douyin_livebroad'

远程连接造成的问题:

1、登录Linux中的MySQL:mysql -uroot -padmin。

2、对所要创建的数据库进行授权操作:grant all privileges on lc_db.* to 'root'@'%' identified by 'admin' with grant option;

    lc_db:是你将要创建的数据库的名字;admin:是你Linux下MySQL的登录密码。

3、进行授权操作以后,就可以在工具中创建数据库和创建表等相关操作了。


更改数据库目录

操作步骤:

    1.检查mysql数据库存放目录

    mysql -u root -prootadmin

#进入数据库

    show variables like '%dir%';        

#查看sql存储路径

   (查看datadir 那一行所指的路径)

    quit;

 

 

 

    2.停止mysql服务

    service mysqld stop

 

 

    3.创建新的数据库存放目录

    mkdir /data/mysql

 

 

    4.移动/复制之前存放数据库目录文件,到新的数据库存放目录位置

    cp -R /usr/local/mysql/data/* /data/mysql/    #或mv /usr/local/mysql/data/* /data/mysql

 

    5.修改mysql数据库目录权限以及配置文件

    chown mysql:mysql -R /data/mysql/

    vim /etc/my.cnf

    datadir=/data/mysql (制定为新的数据存放目录)

    vim /etc/init.d/mysqld

    datadir=/data/mysql

 

 

    6.启动数据库服务

    service mysqld start

如果报错

env: /etc/init.d/mysqld: Permission denied

解决:

service mysqld start


遇到了这么一个问题:


env: /etc/init.d/mysqld: 权限不够


解决此问题的办法如下:


chmod a+wrx /etc/init.d/mysqld


然后再次执行:


service mysqld start

 
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#skip-grant-tables
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/data/mysql
#socket=/var/lib/mysql/mysql.sock
socket=/data/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

 

更改用户权限增加用户

 

1.创建新用户的SQL语句:

CREATE USER ‘pig‘@‘192.168.1.101_‘ IDENtIFIED BY ‘123456‘;

// pig 是用户名,@后面的是指定ip(如果不限制只能在某个ip,@后面改为‘%’),by后面的是 密码

2.设置这个用户的权限,使用GRANT语句

(如限制某个用户只能查询,不能修改,或者限定只能查询特定的表)

语法:

mysql> grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令‘;

可选的权限列表:select, insert, update, delete, create, drop,

index, alter, grant, references, reload,

shutdown, process, file等14个权限

eg:

1. mysql> grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123‘;

给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表

进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

2. mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123‘;

给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

3. mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123‘;

给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

4. mysql>grant all privileges on *.* to joe@localhost identified by ‘123‘;

给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

5. mysql>flush privileges; //刷新系统权限表

 

 

use mysql  

show databases;(显示db)

show tables;显示表

describe test; 或者show columns from test;显示表结构

drop table test;删除表

create table test( id int not null auto_increment primary key, title varchar(100) not null, name varchar(50) not null, age int not null, createtime datetime not null); 创建表

insert into test(title,name,age,createtime) values ('11','222',11,'2021-09-09'); 添加数据

update test set title='876868' where id =1;  修改数据

delete from test where id=1;  删除数据

select * from test order by id asc; 排序

 

posted @ 2021-09-06 15:49  今晚再打老虎  阅读(282)  评论(0编辑  收藏  举报