Centos 7 虚拟机安装 MySQL
VritualBox 的 CentOS 7 虚拟机安装 MySQL 5.7
·
目录
0. 环境
- Oracle VM VritualBox 6.1.30
- CentOS 7
- MySQL 5.7
1. 下载
查看系统中是否已经安装MySql
rpm -qa | grep mysql
# 或者
yum list installed | grep mysql
如果已经安装则删除MySql及其依赖的包
yum -y remove mysql-community-release.noarch
下载yum源:
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
2. 安装
安装yum源
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
查看有哪些版本的mysql:
yum repolist all | grep mysql
安装MySQL
yum install -y mysql-community-server
3. 启动
启动 MySQL
systemctl start mysqld
# 查看状态
systemctl status mysqld
若启动失败,报错:“initialize specified but the data directory has files in it. Aborting.”,说明 MySQL 中的 data 目录已经有数据了,解决方案:
vim /etc/my.cnf
datadir=/var/lib/mysql,这个是 data 保存目录,进入 /var/lib/mysql 后,查看到确实有数据:
将 /var/lib/mysql 备份,然后重新启动MySQL:
mv mysql mysql.bak
systemctl start mysqld
4. 配置
4.1 配置密码和访问权限
查找初始密码
grep 'temporary password' /var/log/mysqld.log
打印如下:
使用默认密码登录mysql进行修改root密码:
[root@localhsot libs]# mysql -u root -p
Enter password:
修改设置密码策略:
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password_policy=0; # 密码强度设为最低等级
set global validate_password_length=4; # 密码允许最小长度为4
设置密码:
SET PASSWORD = PASSWORD('admin');
设置访问权限:
# 设置用户 root 可以在任意 IP 下被访问:
mysql> grant all privileges on *.* to root@"%" identified by "admin";
# 设置用户 root 可以在本地被访问:
mysql> grant all privileges on *.* to root@"localhost" identified by "admin";
# 刷新权限使之生效:
mysql> flush privileges;
4.2 修改一些简单的配置:字符集、时区等
先输入 exit 退出数据库客户端。打开配置文件,yum安装的默认在 /etc 文件夹下:
vim /etc/my.cnf
在 [mysqld] 下面添加,不需要分号:
# 设置字符集
character-set-server=utf8
# sql支持group by语句
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 设置时区为东八区
default-time_zone = '+8:00'
最后重启数据库,使配置生效。
systemctl restart mysqld
4.3 设置开机启动
systemctl enable mysqld
systemctl daemon-reload
4.4 设置远程访问
若要远程访问MySQL需关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service # 永久禁止防火墙服务器
更多推荐
已为社区贡献4条内容
所有评论(0)