mysql5.7相对于之前的5.6和5.5查询速度有了更快的提升,而且对语法的检查也更加严格,所以安装5.7版本进行学习。
1. 安装YUM Repo
由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
然后进行repo的安装:
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
2. 安装MySQL
使用yum命令即可完成安装
yum install mysql-server
启动msyql:
systemctl start mysqld
配置MySQL:
获取安装时的临时密码:
grep 'temporary password' /var/log/mysqld.log
倘若没有:
1.删除原来安装过的mysql残留的数据
2.再启动mysql
rm -rf /var/lib/mysql
systemctl start mysqld
3. 登陆
使用刚刚从日志文件中获取到的临时密码进行登陆:
mysql -u root -p
登录成功后修改密码:
首先修改密码校验策略:
set global validate_password_policy=0;
设置密码长度最短为4位,默认为8位,系统最少支持为4位,不能再小了。
set global validate_password_length=4;
修改密码: password() 中为自己的新密码
update mysql.user set authentication_string=password('root') where user='root' ;
4. 开启远程控制
grant all privileges on 数据库名.表名 to 创建的用户名(root)@"%" identified by "密码"; # 数据库名.表名 如果写成*.*代表授权所有的数据库
#如:
grant all privileges on *.* to 'root'@'%' identified by 'root';
这里的root代表root用户,最后的root代表root用户的密码,我这里用户名,密码都是root,中间的%号代表所有的ip地址都能远程访问,如果你要针对某一台机器开放远程访问权限,那就把%换成哪台机器的ip地址,这样就只能这台机器远程访问linux下的mysql数据库了。
刷新刚才的内容:
flush privileges;
5. 修改配置文件
退出mysql,继续使用root用户:
vi /etc/my.cnf
#添加
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
6. 开通3306端口
打开配置文件
vi /etc/sysconfig/iptables
添加3306端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
7. 使用Navicat连接
7. 其他常用命令
systemctl stop mysqld #关闭MySQL
systemctl restart mysqld #重启MySQL
systemctl status mysqld #查看MySQL运行状态
systemctl enable mysqld #设置开机启动
systemctl disable mysqld #关闭开机启动
8. 配置文件路径
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid