注:centos7下直接利用yum安装mysql,则安装的是mariadb,而不是mysql,这里说的是安装mysql数据库
1、配置yum源
百度云地址: http://pan.baidu.com/s/1sl7bBIl
① 在MySQL官网中找到YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/
② 下载mysql源安装包: wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
③ 安装yum源: yum localinstall mysql57-community-release-el7-11.noarch.rpm
④ 检查是否安装成功: yum repolist enabled | grep "mysql.*-community.*"
看到上图表示安装成功。
2、安装mysql
安装好yum源过后就可以直接安装mysql了: yum install mysql-community-server
3、启动mysql
systemctl start mysqld
4、修改本地root密码
① 进入mysql数据库
在命令行输入mysql -uroot -p,确定过后,再输入密码,进入mysql数据库。
② 如果忘记密码,无法进入数据库,则先修改配置。然后添加skip-grant-tables。保存过后,不用输入密码可以直接进入数据库。
# vim /etc/my.cnf
# :wq
③ 选择mysql数据库: use mysql;
④ 修改密码
注:低版本的mysql修改密码的方式有点不用
⑤ 去掉配置文件中的skip-grant-tables, 重启mysql服务
⑥ 重新进入mysql数据库,这时候操作任何语句都是没有办法操作的,都会提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement。这时需要重新设置一下密码。
⑦ 重新设置密码,alter user 'root'@'localhost' identified by '新密码'
⑧ 在设置密码时,由于新版本自带的安全验证要求,简单的密码是无法通过的,会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
⑨ 如果需要设置简单密码,将安全验证去掉即可:
set global validate_password_policy=0;
set global validate_password_length=1;
set global validate_password_mixed_case_count=2;
⑩ 查看密码策略 show variables like '%password%';
validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个
5、新建普通操作用户
① 利用root用户进入数据库
② 选择mysql数据库: use mysql;
③ 创建远程用户
CREATE USER 'origalom'@'%' IDENTIFIED BY '123456';
④ 为用户授权,授权格式为: grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
授权用户拥有操作test数据库所有数据的权限:grant all privileges on test.* to 'origalom'@'%' identified by '123456';
授权用户拥有操作test数据库某些数据的权限:grant select,update on test.* to 'origalom'@'%' identified by '123456';
授权用户拥有操作所有数据库的权限:grant select,delete,update,create,drop on . to 'origalom'@'%' identified by '123456';
⑤ 刷新权限
flush privileges;
注: 取消授权命令格式 REVOKE privilege ON databasename.tablename FROM 'username'@'host';
6、开放mysql的防火墙端口
1 sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent 2 sudo firewall-cmd --reload
说明:上面使用的是firewalld,如果使用的是iptables,则根据iptables的配置开放端口