mysql安装,最好用一版梳理

内容纲要

MySQL安装v1.1

一、环境介绍

操作系统:CentOS 7

MySQL:5.7

二、MySQL卸载

# 查看软件
rpm -qa|grep mysql
# 卸载MySQL
yum remove -y mysql mysql-libs mysql-common
rm -rf /var/lib/mysql
rm /etc/my.cnf

查看是否还有 MySQL 软件,有的话继续删除。

软件卸载完毕后如果需要可以删除 MySQL 的数据库: /var/lib/mysql

三、MySQL安装

3.1 安装

#下载yum源
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
#安装yum源
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
#使用此命令可以查看 MySQL Yum 存储库中的所有子存储库,并查看其中哪些子存储库已启用或禁用
yum repolist all | grep mysql
#关闭mysql8的下载源
yum-config-manager --disable mysql80-community
#开启mysql5.7下载源
yum-config-manager --enable mysql57-community
#安装mysql5.7
yum install -y mysql-community-server --nogpgcheck

3.2 配置

vim /etc/my.cnf

修改内容如下

[mysqld]
# MySQL设置大小写不敏感:默认:区分表名的大小写,不区分列名的大小写
# 0:大小写敏感 1:大小写不敏感
lower_case_table_names=1
# 默认字符集
character-set-server=utf8

3.3 启动

systemctl start mysqld

3.4 设置root用户密码

安装了mysql5.7之后初始密码不再默认为空,初始密码会生成一个默认密码。密码会输出到mysql日志中。日志文件的位置在 /var/log/mysqld.log

查看初始密码

修改初始密码

#1.登录mysql
[root@localhost ~]# mysql -uroot -pI5fxv&tkwhgu
#mysql5.7以后对密码的强度是有要求的,必须是字母+数字+符号组成的,如果想设置简单密码例
如‘root’,需要做以下设置
#2.设置密码长度最低位数
mysql> set global validate_password_length=4;
#3.设置密码强度级别
mysql> set global validate_password_policy=0;
#4.修改密码
mysql> alter user 'root'@'localhost' identified by 'itxiongge@123';
#5.进入mysql数据库:
mysql> use mysql;
#6.查看user表中的数据:
mysql> select Host, User from user;
#7.修改user表中的Host: 
mysql> update user set Host='%' where User='root';   
#说明: % 代表任意的客户端,可替换成具体IP地址。
#8.刷新权限
mysql> flush privileges;
#9.更改权限
mysql> alter user 'root'@'%' identified by 'itxiongge@123';
#10.刷新权限
mysql> flush privileges;

validate_password_policy有以下取值:

image-20220302181750536

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

错误:解决mysql Operation ALTER USER failed for ‘root’@’%'

1、连接服务器: `mysql -u root -p`
8、注意:一定要记得在写sql的时候要在语句完成后加上" ; "
9、 修改密码:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
alter user 'root'@'%' identified by 'itxiongge@123';
10、最后刷新一下:flush privileges;

四、远程连接MySQL授权

登陆

mysql -uroot -proot

授权

授权命令

grant 权限 on 数据库对象 to 用户

示例:

授予root用户对所有数据库对象的全部操作权限:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

命令说明

  • ALL PRIVILEGES :表示授予所有的权限,此处可以指定具体的授权权限。
  • *.* :表示所有库中的所有表
  • 'root'@'%' : myuser是数据库的用户名,%表示是任意ip地址,可以指定具体ip地址。
  • IDENTIFIED BY 'mypassword' :mypassword是数据库的密码。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward