1 查看系统是否安装mysql
rpm -qa|grep -i mysql
[root@VM_0_5_centos ~]# rpm -qa|grep -i mysql
mysql-community-libs-5.7.29-1.el7.x86_64
mysql-community-libs-compat-5.7.29-1.el7.x86_64
mysql57-community-release-el7-9.noarch
mysql-community-common-5.7.29-1.el7.x86_64
mysql-community-client-5.7.29-1.el7.x86_64
mysql-community-server-5.7.29-1.el7.x86_64
2如果未安装,由于centOS的yum源没有mysql,首先需要下载repo配置文件
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
然后安装repo
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
3使用yum安装mysql
首先需要进入 /etc/yum.repos.d/目录后再执行以下脚本
yum install mysql-server
4启动mysql
systemctl start mysqld
其他相关命令
关闭MySQL
systemctl stop mysqld
重启MySQL
systemctl restart mysqld
查看MySQL运行状态
systemctl status mysqld
设置开机启动
systemctl enable mysqld
关闭开机启动
systemctl disable mysqld
5获取安装时配置的临时密码,这个密码在第一次登陆时使用
[root@VM_0_5_centos yum.repos.d]# grep 'temporary password' /var/log/mysqld.log
2020-02-20T10:46:44.126679Z 1 [Note] A temporary password is generated for root@localhost: BaIzwj9fK3,q
注:如果没有获取到临时密码,可能是原理系统安装过mysql,有残留数据导致,可以删除之前mysql的遗留数据
rm -rf /var/lib/mysql
然后在重新启动mysql
systemctl start mysqld
6登陆mysql进行操作
登陆mysql的root用户
这里的用户名root 密码BaIzwj9fK3
mysql -uroot -pBaIzwj9fK3
登陆成功后修改密码
在修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘12345678’;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
如果报上面的错误,问题是密码简单,解决办法如下
直接设置复杂的密码(需要时8位的复杂密码)
注:如果想使用简单密码,可以修改密码策略,但是前提是需要先设置一个复杂8位密码后再进行
查看mysql初始的密码策略
SHOW VARIABLES LIKE ‘validate_password%’;
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,
当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate_password_length=6; ” 进行设值,
注:在默认密码的长度最小值为 4 ,由 大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,只要设置密码的长度小于 3 ,都将自动设值为 4 ,
关于 mysql 密码策略相关参数;
1)validate_password_length 固定密码的总长度;
2)validate_password_dictionary_file 指定密码验证的文件路径;
3)validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
创建数据库
创建数据库命令 create database databasename;
#创建数据库test
create database test;
创建用户命令
:create user ‘username’@‘host’ identified by “password”;
mysql->create user 'test'@'localhost' identified by '123';
mysql->create user 'test'@'192.168.7.22' identified by '123';
mysql->create user 'test'@'%' identified by '123';
注:host=“localhost"为本地登录用户,host=“ip"为ip地址登录,host=”%”,为外网ip登录
用户授权
用户授权命令
grant privileges on databasename.tablename to ‘username’@‘host’ IDENTIFIED BY ‘PASSWORD’;
flush privileges;
注这里设置的授权密码和用户密码可以不是一个,授权命令执行完成后记得执行刷新命令flush privileges;
#给与用户tom,对应数据库test所有表的远程访问权限
grant all privileges on `test`.* to 'tom'@'%' IDENTIFIED BY '12345678';
#给与用户tom,对应数据库testr所有表的select查询的远程访问权限
grant select on `test`.* to 'tom'@'%' IDENTIFIED BY '12345678';
#给与用户tom,所有数据库所有表的select查询的远程访问权限
grant select on *.* to 'tom'@'%' IDENTIFIED BY '12345678';
参考链接:https://blog.csdn.net/qq_36582604/article/details/80526287
https://blog.csdn.net/wohiusdashi/article/details/89358071