1. 下载
curl -O https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar](https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
2. 解压到 mysql 文件夹下
mkdir mysql
tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
3. 防止安装出现问题,赋权限
chmod -R 777 mysql
4. 按照如下顺序执行安装
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm
如果安装过程中出现这个错误就在后面添加 --force --nodeps,这可能是由于yum安装了旧版本的GPG keys造成的
配置数据库
1. vim /etc/my.cnf
添加如下三行
skip-grant-tables
character_set_server=utf8
init_connect='SET NAMES utf8'

skip-grant-tables:跳过登录验证(便于我们直接登录)
character_set_server=utf8:设置默认字符集UTF-8
init_connect='SET NAMES utf8':设置默认字符集UTF-8
1. 启动 mysql 服务
systemctl start mysqld.service
2. 启动客户端
mysql
3. 设置密码
update mysql.user set authentication_string=password('mysql') where user='root';
4. 立即生效
flush privileges;
此时我们查看 mysql 有哪些表会出现如下错误You must reset your password using ALTER USER statement before executing this statement
解决方式如下:
(1)MySQL版本5.7.6版本(以前)用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD('l!vWT#mL93');
(2)MySQL版本5.7.6版本(开始后)的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY 'l!vWT#mL93';
将密码设置简单点
1. 查看密码策略
SHOW VARIABLES LIKE 'validate_password%';
1)validate_password_length 固定密码的总长度;
2)validate_password_dictionary_file 指定密码验证的文件路径;
3)validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
2. 将密码强度设为 LOW
set global validate_password_policy=LOW;
3. 其他设置
set global validate_password_number_count=0;
set global validate_password_length=5;
set global validate_password_mixed_case_count=0;
4. 将密码设置为简单的密码
ALTER USER USER() IDENTIFIED BY 'mysql';
5. 开启远程访问权限
grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option;
6. 为了后期避免麻烦,将密码过期功能禁用,命令如下:
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

存储 emoj 表情,需要将 utf8
编码修改为 utf8mb4
编辑配 my.cnf
配置文件
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

重启 mysql 服务
systemctl stop mydqld.service
systemctl start mydqld.service
# 1. 查看数据库字符集
show variables like 'chara%';
# 2. 修改数据库字符集
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
# 3. 修改表字符集
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 4. 修改字段字符集
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
修改数据库连接,我这里没用到(未验证)
mysql://root:@127.0.0.1:3306/weibo?charset=utf8mb4
参考连接:
网友评论