欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux 虚拟机安装mysql数据库

程序员文章站 2022-05-27 13:34:12
...

此文档是结合网上参考文档编辑、如有侵犯个人版权,请联系本人删除。

 

登录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

找到[email protected]:后的一串字符加符号的组合,它就是初始密码。

更改密码

执行:

 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

[[email protected] ~]# 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)

相关标签: linux mysql