1,下载mysql 的rpm包 https://dev.mysql.com/downloads/repo/yum/
2,通过xshell 传输到虚拟机中
在linux中 yum install lrzsz;
(rz:Windows -----> linux , sz: linux ------ > windows)
3.安装rpm(需要先找到rpm所在的目录)
yum install mysql80-community-release-el7-2.noarch.rpm
4.安装mysql
yum install mysql-community-server
5.查看初始密码:(可能无法使用初始密码登陆,则开始重置密码)
cat /var/log/mysqld.log | grep password
6:mysql 8重置密码
6.1 跳过验证:
skip-grant-tables
6.2 重启mysqld,进入mysql
6.3 使用mysql数据库,密码清空
use mysql;
update user set authentication_string = '' where user = 'root';
flush privileges
6.4 删掉步骤1的语句 skip-grant-tables
6.5 重启mysqld ,连接mysql (不用输入密码)
mysql -uroot -p
6.6设置策略:
validate_password.check_user_name ON
validate_password.dictionary_file
validate_password.length
validate_password.mixed_case_count
validate_password.number_count
validate_password.policy
validate_password.special_char_count
set global validate_password.length=6;//长度可以更改为任意数
set global validate_password.policy=0;//长度可以更改为任意数
6.7 设置新密码:
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码"
6.7 更改连接为任意ip:
#刚开始想直接用 (ALTER USER "root"@"%" IDENTIFIED BY "你的新密码") 但是报错,所以:
use msql;
update user set host='%' where user="root";
6.8 重启mysqld服务
关于策略的设置:引用参考https://www.cnblogs.com/hellozg/p/9333052.html
7 查看数据库已经配置的策略
SHOW VARIABLES LIKE 'validate_password%';
9新建用户:
create user 用户名 identified by '密码';
10授权
GRANT ALL PRIVILEGES ON *.* TO 'ht'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON 数据库.表 TO '用户名'@'ip地址(%表示是所有ip)'
WITH GRANT OPTION :该用户有授权其他用户的权力
11 ,general log:保存mysql操作的命令;
set global general_log_file='/tmp/general.lg'//设置general log的路径;
set global general_log=on; //打开general log
12 key 和index的区别:
primary key 有两个作用,一是约束作用(constraint),用来规范一个存储主键和唯一性,但同时也在此key上建立了一个index;
unique key 也有两个作用,一是约束作用(constraint),规范数据的唯一性,但同时也在这个key上建立了一个index;
foreign key也有两个作用,一是约束作用(constraint),规范数据的引用完整性,但同时也在这个key上建立了一个index;
index 只是辅助查询;
13:alter 的命令总结(转载)
alter add命令用来增加表的字段。
alter add命令格式:alter table 表名 add字段 类型 其他;
例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:
mysql> alter table MyClass add passtest int(4) default '0';
1) 加索引
mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql> alter table employee add index emp_name (name);
2) 加主关键字的索引
mysql> alter table 表名 add primary key (字段名);
例子: mysql> alter table employee add primary key(id);
3) 加唯一限制条件的索引
mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table employee add unique emp_name2(cardnumber);
4) 删除某个索引
mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table employee drop index emp_name;
5) 增加字段
mysql> ALTER TABLE table_name ADD field_name field_type;
6) 修改原字段名称及类型
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
7) 删除字段
MySQL ALTER TABLE table_name DROP field_name;