(一 )安装方式采用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';
重启服务器即可!
image.png
mysql 的远程连接
进入mysql
use mysql
select Host,User from user;
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密码可以采用上边的修改密码方式进行修改