此配置在阿里云centos7.4系统下
先说下偷懒的方法,阿里云更换系统镜像时,会有公共镜像模块,里面有很多配置好的环境,直接安装即可
如果说,不是纯净系统需要安装mysql
先说下mysql的配置文件位置:
/etc/my.cnf 这是mysql的主配置文件
/var/lib/mysql mysql数据库的数据库文件存放位置
/var/log/mysql.log 数据库的日志输出存放位置
查看安装的mysql应用
rpm -qa | grep mysql
卸载掉原有mysql
rpm -qa | grep mysql #这个命令就会查看该操作系统上是否已经安装了mysql数据库
如果已安装过,并确认不需要,卸载掉
rpm -e mysql #普通删除模式
rpm -e --nodeps mysql #(推荐)强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
这里就卸载完成了
开始配置
1.依次执行一下命令
yum -y install wget #这是一个下载器
2.下载mysql源安装包,两种下载命令方式,下载完的rpm包保存在/root目录下
wget http://repo.mysql.com/mysql57-community-release-el7.rpm #这是两个下载地址,可以访问看一下
wget http://dev.mysql.com/get/mysql57-community-release-el7.rpm
3.本地安装mysql源,就是上面那个包
yum -y localinstall mysql57-community-release-el7.rpm
4.在线安装mysql服务
yum -y install mysql-community-server mysql mysql-community-devel #这一步可能比较慢,看服务器配置
5.启动mysql服务
systemctl start mysqld #新版本mysql加d,也可以用service mysqld start
6.设置开机启动
systemctl enable mysqld
systemctl daemon-reload
7.修改root本地登录密码
安装完mysql后,会在/var/log/mysqld.log文件中给root生成一个临时密码
mysql -u root -p #连接数据库登陆
Enter password:临时密码
输入临时密码,进入mysql命令行
在mysql> 处输入修改密码语句
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '3位以上字符密码'; #修改密码
出现Query OK, 0 rows affected (0.00 sec)表示修改成功
8.创建数据库用户
mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; #查看mysql所有用户 mysql>CREATE USER 'USER1'@'localhost' IDENTIFIED BY '123456'; #新建用户
9.允许远程登陆mysql
mysql默认不允许远程登陆,这里设置一下
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; #.*.的意思是所有库的所有表;To后面跟的是用户名;@后面跟的是ip地址,%代表所有ip地址,identified by后面的是密码
mysql>flush privileges; #刷新一下权限
mysql>exit; #退出mysql编辑
grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;flush privileges;
库名:要远程访问的数据库名称,所有的数据库使用“*”
表名:要远程访问的数据库下的表的名称,所有的表使用“*”
用户名:要赋给远程访问权限的用户名称
IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”
密码:要赋给远程访问权限的用户对应使用的密码
GRANT ALL PRIVILEGES ON testdb.* TO 'lxh'@'172.16.52.225' IDENTIFIED BY 'lxh' WITH GRANT OPTION; # IP为172.16.52.225的电脑可以使用lxh用户,密码为lxh远程访问数据库testdb的所有表
注意:一般无需操作
需要注意mysql的配置文件中的bindaddress 的参数和skip-networking 配置
bindaddress : 设定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求),最好注释掉该参数或设置成为127.0.0.1以外的值
skip-networking : 如果设置了该参数项,将导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器,所以应该注释掉该参数
10.配置mysql默认编码位utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置
[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'
11.开放mysql3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
防火墙没开
systemctl status firewalld #查看防火墙状态
systemctl start firewalld # 打开防火墙
然后再输入那个开放3306端口的命令就可以了
firewall-cmd --zone=public --add-port=3306/tcp --permanent; firewall-cmd --reload #重启防火墙
编辑完成后,重启mysql服务 systemctl restart mysqld
到此mysql安装完毕