centos7安装mysql
1、先检测系统是否自带原有版本mysql安装包,如果有要先卸载删除,不然不能成功安装和启动;
rpm -qa|grep mysql
yum remove mysql mysql-server mysql-libs compat-mysql51 注意这个代码,卸载不干净
rm -rf /etc/my.cnf
a)删除分散mysql文件夹
whereis mysql
/usr/lib/mysql /var/lib64/mysql
清空相关mysql的所有目录以及文件
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql
rm -rf /usr/my.cnf
2、安装MySQL
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
3、MySQL的启动配置
4. 防火墙设置
centos7 防火墙设置
第一种 firewall
永久的开放、关闭、查看端口
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=3000/tcp --permanent
sudo firewall-cmd --zone=public --query-port=3306/tcp
sudo firewall-cmd --reload
之后检查新的防火墙规则
firewall-cmd --list-all
//检查防火墙状态
firewall-cmd --state
systemctl enable firewalld
systemctl disable firewalld
systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld
systemctl status firewalld
第二种 iptables
CentOS7默认的防火墙不是iptables,而是firewalld
关闭firewall:
systemctl stop firewalld
systemctl disable firewalld #禁止firewall开机启动
#安装iptables-services
yum install iptables-services
vim /etc/sysconfig/iptables
service iptables restart
service iptables save
5. 数据库初始化
mysql5.7.6以后的版本在启动数据库的时候,会生成密码放到日志文件里,可从从日志获取:
[root@localhost local]# cat /var/log/mysqld.log | grep 'password'
2017-02-08T10:48:53.368640Z 1 [Note] A temporary password is generated for root@localhost: lRym!ofXx6/r
日志的第一条最后那串字符就是初始密码,这里是 lRym!ofXx6/r
使用该密码登录即可
[root@localhost local]# mysql -uroot -p
Enter password:
登录后输入sql语句发现
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
意思是要修改初始密码,修改方法如下(这里密码是Xm123456@):
mysql> set password='Xm123456@';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
用新密码重新登录即可,测试可以执行sql语句了,到此修改初始root密码完成。
--设置外面客户端可登陆
show databases;
use mysql
select host,user from user;
update user set host='%' where user='root' and host='localhost';
flush privileges;
好了
--设置简单密码
set global validate_password_policy=0;
set global validate_password_length=4;
--权限设置
grant all privileges on *.* TO 'root'@'%' identified by 'root' with grant option;
flush privileges;
--创建用户
create user 'risk'@'%' identified by 'risk';
grant all privileges on *.* to 'risk'@'%' identified by 'risk';
flush privileges;