Bootstrap

mysql 远程安装,centos7下安装Mysql安装、远程链接等操作

(一 )安装方式采用rpm

更新源 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

sudo yum localinstall mysql80-community-release-el7-1.noarch.rpm

yum install mysql-community-server

然后启动 mysql

systemctl start mysqld.service

查看自动生成的密码

cat /var/log/mysqld.log | grep 'password '

自动密码是随机生成的,而且不方便记忆,所以我们要进行密码修改

Mysql 5.7 的修改

mysql -u root -p

临时密码'

set password = password('123456') ;#这个只有第一次时才能使用

或者

update user set authentication_string=password('newpassword') where user ='root';

该命令不适合于8.0

如果设置123456会提示秘密过于简单不符要求,如果要继续使用则需要修改两个参数

提示 :Your password does not satisfy the current policy requirements。

执行

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

然后退出重启即可;

Mysql 8.0的修改

1.配置文件 MySQL 免密码登录

编辑 MySQL 的配置文件

vim /etc/my.cnf

2.在文件末尾加上

skip-grant-tables #跳过身份验证! 保存退出

3.重启mysql服务

systemctl restart mysqld.service

4.免密登录mysql

mysql -u root -p

提示密码时 直接回车

5.选择 mysql 数据库

use mysql; #mysql 数据库中存储了一张用户 user 表,所以修改user

在user 表中查看当前 root 用户的相关信息

select host, user, authentication_string, plugin from user;

host 表示允许用户IP登录 %表示远程链接;

user 表示当前数据库的用户名;

authentication_string: 用户密码(在mysql 5.7.9以后废弃了password字段和password()函数);

plugin: 密码加密方式;

6.然后退出mysql

exit 或 quit 都可以

7.删除 /etc/my.cnf 文件最后的 skip-grant-tables并保存退出

vim /etc/my.cnf

8.重启 MySQL 服务

systemctl restart mysqld.service

9.重新登录到 MySQL 上

mysql -u root -p

10.使用 ALTER 修改 root 用户密码

ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

直接修改为简单密码时依旧会报错

提示: Your password does not satisfy the current policy requirements。

然后执行

mysql> set global validate_password_policy=0;

ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'

mysql> set global validate_password_length=1;

ERROR 1193 (HY000): Unknown system variable 'validate_password_length'

可以看到,修改 policy 和 length 的值,在MySQL5.7中可以但是,在MySQL8.0中无效。'validate_password_policy' 变量不存在。所以先要修改一个符合规则的用户名。

ALTER user 'root'@'localhost' IDENTIFIED BY 'XxZ@123Z123';

然后执行下边;

mysql> set global validate_password.policy=0;

mysql> set global validate_password.length=1;

然后重新修改想要的密码,然后保存退出!

ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

重启服务器即可!

9226758e7dd4

image.png

mysql 的远程连接

进入mysql

use mysql

select Host,User from user;

9226758e7dd4

image.png

如果想 指定固定ip链接,则将host换成ip地址

刷新权限

flush privuleges;

或者

sudo service mysqld restart

若远程依旧不能链接则检查防火墙,并且尝试关闭

sudo service firewalld stop

genelog记录sql语句记录

set global general_log_file = "/tmp/general.log"; log日志保存位置

set global general_log = on; 开启 general_log

然后执行的所有sql语句都可以被记录,并且可以查询;

新建用户

create user 'newuser' @'%' identified by 'password'; '%'代表允许远程链接;

set global validate_password_policy = 0;

set global validate_password_length=1;

给新用户赋权

赋给所 有权限:

grant all privileges on *.* to 'newuser'@'%' identified by 'password' with grant option;

*号表示任意表,任意库 @'%'表示任何主机都可以访问。

然后重新刷新权限

赋给插入,和查询权限

grant select, insert on *.* to 'newuser'@'%' identified by 'password' with grant option;

收回所有权限:

revoke all privileges on *.* from newuser;

刷新权限即可

重置root密码可以采用上边的修改密码方式进行修改

;