如果需要安装姿势请查看CentOS 7-mysql的安装姿势这篇博客。
非阿里云主机centos 7
chkconfig mysqld on
chkconfig --list mysqld
查看【如果2-5位启用on状态,表示设置成功】阿里云主机centos 7
systemctl enable mysqld
systemctl daemon-reload
grep "password" /var/log/mysqld.log
或者
cat /var/log/mysqld.log | grep "A temporary password"
mysql -u root -p
输入临时密码You must reset your password using ALTER USER statement before executing this statement.
update user set password = password('new-password') where user = 'root';
MySQL版本5.7.6版本(开始后)的用户可以使用如下命令: alter user user() identified by 'new-password';
问题二:Your password does not satisfy the current policy requirements
# 降低密码难度
set global validate_password_policy=LOW;
# 设置密码长度
set global validate_password_length=6;
vim /ect/my.cnf
[mysqld]
下添加skip-grant-tables
参数unknown option '--ship-grant-tables'
mysqld -skip-grant-tables
mysql -u root
登陆The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
flush privileges;
alter user 'root'@'localhost' identified by 'new-password';
service mysqld restart
# 查看是否有匿名用户
select user,host from mysql.user;
# 删除匿名用户
delete from mysql.user where user = '';
# 刷新配置
flush privileges;
# 插入新用户
# 5.7版本以前
insert into mysql.user(Host, User, Password) values ("localhost", "yourusername", password("yourpassword"));
# 5.7版本后
# username - 你将创建的用户名,
# host - 指定该用户在哪个主机上可以登陆,如果"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录,如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;
# password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。
create user 'username'@'host' identified by 'password';
# 刷新生效
flush privileges;
select Host,User from user \G;
update user set host = "%" where Host = "localhost" and User = "root";
flush privileges;
查看是否开启
ps -ef | grep firewalld
关闭防火墙
sudo service firewall.service stop
# 设置日志输出路径
set global general_log_file = "/tmp/general.log";
# 开启日志
set global general_log = on;
set global validate_password_policy = 0;
set global validate_password_length = 1;
# 将所有权限赋给xx用户
grant all privileges on *.* to 'xx'@'%‘ identified by '123456' with grant option;
# 根据自己实际情况决定是否开什么权限
# 数据库.*:表示该数据库的所有表
# host:对应的来访问的ip
grant select,insert,update on 数据库.* to 用户@'host' identified by '密码'
# 回收xx用户的所有权限
revoke all privileges on *.* from xx;
# 需要刷新权限操作
flush privileges;