推荐阿里云yum源,下载速度会快
安装步骤
# 查询是否安装mysql
[root@localhost ~]# rpm -qa |grep mysql
mysql-community-client-5.7.33-1.el7.x86_64
mysql-community-server-5.7.33-1.el7.x86_64
mysql57-community-release-el7-10.noarch
mysql-community-libs-5.7.33-1.el7.x86_64
mysql-community-common-5.7.33-1.el7.x86_64
#如果已安装 按照顺序卸载
[root@localhost ~]# rpm -e mysql-community-server-5.7.33-1.el7.x86_64
警告:/etc/my.cnf 已另存为 /etc/my.cnf.rpmsave
# wget命令如果未安装先安装
[root@localhost ~]# yum -y install wget
# 下载官方Yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# yum安装
[root@localhost data]# yum -y install mysql57-community-release-el7-10.noarch.rpm
# 安装MySQL服务器,此步骤时间较长
[root@localhost data]# yum -y install mysql-community-server
# 更改数据库默认存储位置
#首先创建存储目录
/home/greenSoftware/data/mysql
#移动文件
[root@localhost data]# mv /var/lib/mysql /home/greenSoftware/data
# 修改my.cnf 里面的/datadir/socket对应地址
[root@localhost mysql]# vim /etc/my.cnf
数据库设置
# 打开数据库
[root@localhost ~]# systemctl start mysqld.service
#查看数据库状态
[root@localhost ~]# systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2021-02-07 11:32:58 CST; 1min 0s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 13931 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $>
Process: 13910 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 13934 (mysqld)
Tasks: 27 (limit: 23523)
Memory: 266.2M
CGroup: /system.slice/mysqld.service
└─13934 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
# 查询初始密码
[root@localhost ~]# grep "password" /var/log/mysqld.log
# 通过命令进入mysql
[root@localhost ~]# mysql -uroot -p
# 首先修改初始密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
#如果要修改为root这样的弱密码,需要进行以下配置:
#查看密码策略
show variables like '%password%';
#修改密码策略
[root@localhost ~]# vim /etc/my.cnf
# 添加validate_password_policy配置
# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
#添加validate_password_policy配置
validate_password_policy=0
#关闭密码策略
validate_password = off
#保存退出,重启mysql
[root@localhost ~]# systemctl restart mysqld
#修改mysql字符集
# 字符编码修改前
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
[root@localhost ~]# vim /etc/my.cnf
#设置编码集
character_set_server=utf8
init_connect='SET NAMES utf8'
# 字符编码修改后
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
#设置group by 报错
[root@localhost ~]# vim /etc/my.cnf
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# my.cnf增加参数汇总
#添加validate_password_policy配置
validate_password_policy=0
##关闭密码策略
validate_password = off
#设置编码集
character_set_server=utf8
init_connect='SET NAMES utf8'
#解决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
用户管理
# 创建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'userpassword';
#创建数据库
CREATE DATABASE IF NOT EXISTS safe_island_db DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#远程安全策略
mysql> grant all privileges on *.* to 'username'@'%' identified by 'userpassword' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
#刷新
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)