centos 安装
版本说明 :centos7,mysql5.7 ,不是 centos7 可能有些命令不兼容
安装 mysql-server
# 下载并安装 mysql yum
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
# 安装 mysql-server
yum -y install mysql-community-server
mysql 初始化安装的一些配置
# 启动 mysql-serer
systemctl start mysqld.service
# 查看是否启动成功,即是否存在 3306 端口
netstat -tnlp | grep 3306
# 查询 root 密码,登录到 mysql
grep "password" /var/log/mysqld.log
mysql -uroot -p
# 首次操作要求重置密码,必须大小写特殊字符组成
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
# 授权远程访问 % 表示所有主机都可以访问
mysql> grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
# 刷新权限信息
mysql> flush privileges;
修改字符集
vi /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
# 重启 mysql
systemctl restart mysqld.service
# 查看是否配置成功
mysql> status;
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
配置可以使用弱密码
mysql 升级到 5.7 版本后,对密码进行了加强
mysql.user 中的 password 字段修改为 authentication_string
增加了密码验证插件
# 查看当前密码规则
mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 | 密码最小长度
| validate_password_mixed_case_count | 1 | 密码大写小写混合个数
| validate_password_number_count | 1 | 密码数字个数
| validate_password_policy | MEDIUM | 密码检查等级
| validate_password_special_char_count | 1 | 密码特殊字符个数
+--------------------------------------+--------+
解决办法有两种,一种是改验证规则,二是直接卸载这个密码验证插件
卸载密码验证插件
mysql> uninstall plugin validate_password;
修改验证规则
mysql> set global validate_password_policy=0;
mysql> set global validate_password_mixed_case_count=0;
mysql> set global validate_password_number_count=3;
mysql> set global validate_password_special_char_count=0;
mysql> set global validate_password_length=3;
修改 mysql 密码
如果已经登录了 mysql ,则可以直接修改密码
# 方法一. 设置当前登录用户密码
mysql> set password=password('newpassword');
# 方法二. 直接改用户表
mysql> use mysql;
mysql> update user set authentication_string=password('123abc') where user='root';
# 方法三. 修改密码
mysql> alter user root@'localhost' identified by '123456';
如果没有登录 mysql ,可以跳过权限检查来修改密码
vi /etc/my.cnf
[mysqld]
skip-grant-tables
# 然后重启 mysql,不需要 root 密码登录 mysql ,之后随便你怎么玩
windows 安装
一般来说下一步下一步就完事了,但我那时候下载的可能是个测试版本,有个 1045 错误,估计现在的版本都没有了吧。解决办法其实就是跳过权限检查,重置密码,这里给新手一个操作的方法
1. 先停止 mysql 服务,然后 cmd 到 mysql 的 bin 目录
2. mysqld -nt --skip-grant-tables
3. 启动 mysql 执行 mysqladmin -u root flush-privileges password
一点小推广
创作不易,希望可以支持下我的开源软件,及我的小工具,欢迎来 gitee 点星,fork ,提 bug 。