一、MySQL安装
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
yum -y install mysql57-community-release-el7-10.noarch.rpm
之后就开始安装MySQL服务器。
yum -y install mysql-community-server
这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。
至此MySQL就安装完成了,然后是对MySQL的一些设置。
二、MySQL数据库设置
首先启动MySQL
systemctl start mysqld.service
查看MySQL运行状态,运行状态如图:
systemctl status mysqld.service
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
grep "password" /var/log/mysqld.log
如下命令进入数据库:
mysql -uroot -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; # 修改密码规则
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
(新密码设置的过于简单会报错!!!)
刷新并重置密码
FLUSH PRIVILEGES;
到此数据库的密码设置就完成了。
三、收尾
因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
yum -y remove mysql57-community-release-el7-10.noarch
此时才算真的完成了。
四、MySQL操作
show databases; 显示此用户下的数据库
use 数据库名; 切换数据库
show tables; 显示该数据库下所有表
desc users; 显示users这个表的详细信息
五、查看MySQL配置文件
1、查看是否使用了指定目录的my.cnf
ps aux|grep mysql|grep 'my.cnf'
如果上面的命令没有输出,表示没有设置使用指定目录的my.cnf。
2、查看mysql默认读取my.cnf的目录
如果没有设置使用指定目录的my.cnf,mysql启动时会读取安装目录根目录及默认目录下的my.cnf文件。
mysql --help|grep 'my.cnf'
顺序排前的优先。
3、启动时没有使用配置文件
如果没有设置使用指定目录my.cnf文件及默认读取目录没有my.cnf文件,表示mysql启动时并没有加载配置文件,而是使用默认配置。
需要修改配置,可以在mysql默认读取的目录中,创建一个my.cnf文件(例如:/etc/my.cnf),把需要修改的配置内容写入,重启mysql后即可生效。
六、设置白名单
1、切换至mysql库
use mysql;
2、查看有白名单权限的用户
select Host,User from user;
3、指定ip有权限访问mysql(必须加类似这样的帐户,才可以远程登陆,root帐户是无法远程登陆的,只可以本地登陆)
GRANT ALL ON *.* to admin@'192.168.1.4' IDENTIFIED BY 'your-root-password';
@后面的是指定白名单的ip
4、删除白名单用户的权限
DELETE FROM user WHERE User='username' and Host='host';
5、刷新
修改权限之后都要刷新才会生效
FLUSH PRIVILEGES;
注:若Navicat还是连不上MYSQL的话,请检查Centos防火墙,确保3306端口开放!!!