1.下载MySQL
进入安装目录,可自由选择,我选择安装在usr/local目录下,新建mysql文件夹,后续在此安装
cd /usr/local mkdir mysql cd mysql
安装rpm包
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
如果提示wget命令不存在,先执行
yum -y install wget 下载后ls查看,多了一个rpm文件。
然后安装MySQL安装源
yum -y localinstall mysql57-community-release-el7-11.noarch.rpm
2.在线安装MySQL
yum -y install mysql-community-server
下载东西会有点多,需等待一会儿。
如果提示
Failing package is: mysql-community-client-5.7.40-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
则这样安装,忽略GPG检查
yum -y install mysql-community-server --nogpgcheck
3.启动MySQL
systemctl start mysqld
设置开机启动
systemctl enable mysqld systemctl daemon-reload
4.配置MySQL
修改MySQL密码,首先查看初始密码
vim /var/log/mysqld.log
使用此密码进入MySQL
mysql -u root -p Enter password:
修改密码, mysql默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位,先修改允许简单密码。
在mysql>环境下,输入以下指令
由于mysql首次必须设置密码,且只能设置复杂密码,所以先随便设置一个:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'G%U_SmD?k4w0';
然后查看用户变量:
SHOW VARIABLES LIKE 'validate_password%'; 有些版本较低或未进行全部插件安装的MySQL,会发现如下情况: Empty set (0.00 sec) 那么请执行如下命令安装即可: install plugin validate_password soname 'validate_password.so';
查看后若出现如下:
我的value已修改过了! +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password.check_user_name | OFF | 选择用户名称 | validate_password.dictionary_file | | | validate_password.length | 6 | 密码长度 | validate_password.mixed_case_count | 0 | 字母混合 0不混合 | validate_password.number_count | 1 | | validate_password.policy | LOW | 密码策略:low低 | validate_password.special_char_count | 0 | 密码特殊字符:0无 | validate_password_check_user_name | OFF | 选择用户名称 | validate_password_dictionary_file | | | validate_password_length | 6 | 密码长度 | validate_password_mixed_case_count | 0 | 字母混合 0不混合 | validate_password_number_count | 1 | | validate_password_policy | LOW | 密码策略:low低 | validate_password_special_char_count | 0 | 密码特殊字符:0无 +--------------------------------------+-------+ 会发现此表会比平常的mysql多!区别是中间的.和_ 所以,改动的比平常mysql也多 具体修改方法如下:
设置低密码等级
set global validate_password.check_user_name=off; set global validate_password.length=6; set global validate_password.mixed_case_count=0; set global validate_password.policy=low; set global validate_password.special_char_count=0; set global validate_password_check_user_name=off; set global validate_password_length=6; set global validate_password_mixed_case_count=0; set global validate_password_policy =low; set global validate_password_special_char_count=0;
再次查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
没有问题后,设置新密码,如:123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
刷新访问权限表
flush privileges;
然后exit;退出mysql环境,再登陆一遍,验证密码修改成功。
mysql -u root -p Enter password:
设置允许远程登录
此步骤很关键,不然远程连接数据库会被拒绝。
use mysql; 5.7(包括)以前用这个 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 或(5.7以后用这个) update user set host = '%' where user = 'root';
然后查看
use mysql; select host,user from user;
使用远程测试工具,测试是否能连接上MySQL