此文档是结合网上参考文档编辑、如有侵犯个人版权,请联系本人删除。
登录Linux
首先,保证是以root用户登录Linux操作系统。
安装wget
执行:
yum install wget
安装wget,只要不确定是否安装过wget,最好都执行下看下。
下载yum源安装包
下载yum仓库源安装包,这个需要根据CentOS版本来,既然我们是CentOS7,执行:
wget http://repo.mysql.com/mysql57-community-release-el7.rpm
如果你的系统是CentOS6,执行:
wget http://repo.mysql.com/mysql57-community-release-el6.rpm
不过万一不知道自己的CentOS版本呢,可以执行:
cat /etc/centos-release
查看,如显示:
CentOS Linux release 7.5.1804 (Core)
即为CentOS7版本,如果为6.开头,就是CentOS6版本。
安装下载好的rpm
安装下载好的rpm
执行:
rpm -ivh mysql57-community-release-el7.rpm
注意,我们下载的el7,就安装el7,下载的什么就安装什么。
安装结果如下:
Preparing... ################################# [100%]
Updating / installing...
1:mysql57-community-release-el7-9 ################################# [100%]
这样就配置好了mysql的yum源。
安装MySQL
之后执行:
yum install mysql-server
即可安装mysql。
在之后的安装界面会有让你确定下载安装,输入y
并回车即可,最后出现
Complete! (英文版)
完毕! (中文版)
则代表安装成功。
启动MySQL服务
执行:
systemctl start mysqld
(CentOS6)执行:
service mysqld start
初始化设置
安装MySQL后系统会自动产生一个root用户,我们需要获取其初始密码并修改。
执行:
grep 'temporary password' /var/log/mysqld.log
找到root@localhost:
后的一串字符加符号的组合,它就是初始密码。
更改密码
执行:
mysql_secure_installation
然后出现Enter password for user root:
,此时输入刚刚获得的初始密码并回车。出现是否需要确认的一律输入:y,当出现New password:
的时候则代表要输入你更改的新密码了,输入你要更改的新密码回车并再次输入确认,
之后出现的所有一切需要确认的,一律输入:y,其实需要确认的也就是MySQL安装后有个缺省的方便测试的匿名用户问是否需要删除,输入y删除,还有是否禁止mysql的root用户远程登录系统,一般为禁止,则也是y,还有是否删除缺省的测试数据库,一般也删除,则还是y,最后是是否让配置立即生效,也是y,所以,在设置好密码后出现的一切需要确认的都输入y确认即可,最后系统显示:
All done!
则代表数据库设置完成。这里密码检验复杂度比较高,下面有安装后设置密码检验规则。
设置开机自动运行MySQL服务
数据库当然一般都为开机即自动运行的,这样就让我们不需要每次开机都要手动重新启动了,
CentOS7执行:
systemctl enable mysqld
CentOS6执行:
chkconfig --level 345 mysqld on
来设置开机自动运行MySQL服务。
打开防火墙3306端口
当不打开此端口则我们是无法远程网络访问MySQL数据库的,一般要打开它,以便我们可以远程连接访问。:
CentOS7执行:
firewall-cmd --zone=public --add-service=mysql --permanent
CentOS6执行:
iptables -I INPUT -p TCP --dport 3306 -j ACCEPT;/sbin/service iptables save
好了,到这里我们就可以远程登录数据库访问了。
连接数据库命令:
mysql -uroot -p
[root@bigdata113 ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.32 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
这里mysql默认密码复杂度比较高,可以先设置完后修改,操作如下:
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | | 插件用于验证密码强度的字典文件路径。
| validate_password_length | 8 | 密码最小长度,参数默认为8,它有最小值的限制,最小值为
| validate_password_mixed_case_count | 1 | 密码至少要包含的小写字母个数和大写字母个数
| validate_password_number_count | 1 | 密码至少要包含的数字个数。
| validate_password_policy | MEDIUM | 密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。
| validate_password_special_char_count | 1 | 密码至少要包含的特殊字符数。
+--------------------------------------+--------+
7 rows in set (0.02 sec)
然后修改密码插件检验参数:
mysql> set global validate_password.policy=0;
ERROR 1193 (HY000): Unknown system variable 'policy'
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_number_count=3;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_special_char_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=3;
Query OK, 0 rows affected (0.00 sec)
设置完成后可以进行简单密码重置
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('000000');
Query OK, 0 rows affected, 1 warning (0.00 sec)