CentOS7.4用yum安装并配置MySQL5.7
1、配置YUM源
下载MySQL源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装MySQL源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查MySQL源是否安装成功
yum repolist enabled |grep mysql
2、安装MySQL
yum install mysql-community-server
安装时可能会出现类似以下的错误:
Error downloading packages:
mysql-community-client-5.7.27-1.el7.x86_64: [Errno 256] No more mirrors to try.
mysql-community-common-5.7.27-1.el7.x86_64: [Errno 256] No more mirrors to try.
解决方案如下:
1. 清理软件源
yum clean all
2. 建立源数据缓存
yum makecache
再次重新安装,出现“Complete!”表示安装成功
rpm -qa | grep mysql,查看都安装了那些包
3、启动MySQL服务
systemctl start mysqld
查看MySQL的启动状态
systemctl status mysqld
开机启动
systemctl enable mysqld
重载所有修改过的配置文件
systemctl daemon-reload
4、查看MySQL下root账号的默认密码
mysql5.7安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录MySQL。
命令:grep 'temporary password' /var/log/mysqld.log
可以看到默认的密码是:<4d&do#k5V&f
用默认密码进到MySQL数据库是不能操作的,需要修改root密码
5、先修改配置文件,后设置密码
打开MySQL默认配置文件:vim /etc/my.cnf
在[mysqld]下增加以下配置
MySQL5.7默认对用户密码有密码强度要求,必须包含数字、小写字母、大写字母 、特殊字符,长度至少8位(关于MySQL5.7密码策略及修改技巧,可以参考这篇文章:https://www.jianshu.com/p/5779aa264840)
# 如果不需要密码策略,禁用密码策略
validate_password = off
# 字符编码设置为utf8
character_set_server = utf8
init_connect = 'SET NAMES utf8'
# 设置数据库表名不区分大小(0:区分大小写,1:不区分大小写),Linux下默认对MySQL数据库表名区分大小写,Windows下不区分
lower_case_table_names=1
保存my.cnf配置文件并重启mysql服务使配置生效
systemctl restart mysqld
登录MySQL
mysql -u root -p
输入密码:默认为刚才查到的密码"<4d&do#k5V&f"
6、修改密码步骤如下:
alter user 'root'@'localhost' identified by '123456';
grant all privileges on *.* to 'root' @'%' identified by 'yourpassword'; # 允许远程访问MySQL
刷新权限
flush privileges;
重新登录MySQL
mysql -u root -p
输入刚设置的密码"123456"即可登录进MySQL
7、查看设置的字符集
show variables like "%character%";show variables like "%collation%";
8、MySQL安装目录
MySQL安装完成后,它的数据库文件、配置文件和命令文件分别在不同的目录
show variables like '%dir%';
数据库目录(data默认存放目录)
/var/lib/mysql/
配置文件目录
/usr/share/mysql(mysql.server命令及配置文件)
相关命令目录
/usr/bin(mysqladmin mysqldump等命令)
错误日志目录
/var/log/mysqld.log
socket文件目录
/var/lib/mysql/mysql.sock
服务启动脚本文件
/usr/lib/systemd/system/mysqld.service