构建MySQL服务器
1.1 问题
要求如下:
- 在IP地址192.168.4.50主机上部署mysql服务
- 设置数据库管理员root本机登录密码为tarena
1.2 方案
克隆新的虚拟机:
eth0网卡:192.168.4.50
主机名称:host50
下载软件mysql-5.7.17.tar
关闭防火墙(如果有的话)
关闭SELinux(如果有的话)
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:准备工作
1)如果之前有mariadb,则需要先卸载,并删除对应的配置与数据:
- [root@localhost ~]# systemctl stop mariadb
2)删除/etc/my.cnf配置文件
此配置文件由RHEL自带的mariadb-libs库提供:
[root@localhost ~]# rm -rf /etc/my.cnf
3)删除数据
- [root@localhost ~]# rm -rf /var/lib/mysql/*
4)卸载软件包(没有会显示未安装软件包)
- [root@localhost ~]# rpm -e --nodeps mariadb-server mariadb
- 警告:/var/log/mariadb/mariadb.log 已另存为/var/log/mariadb/mariadb.log.rpmsave
步骤二:安装mysql软件包
1)解压mysql-5.7.17.tar 软件包
- [root@host50 ~]# tar -xvf mysql-5.7.17.tar //解压mysql整合包
- ./mysql-community-client-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-common-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-devel-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-embedded-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-embedded-compat-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-embedded-devel-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-libs-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-minimal-debuginfo-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-server-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-test-5.7.17-1.el7.x86_64.rpm
2)安装MySQL软件包
- [root@host50 ~]# yum -y install mysql-community-*.rpm //yum安装自动解决依赖
- ./mysql-community-client-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-common-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-devel-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-embedded-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-embedded-compat-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-embedded-devel-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-libs-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-minimal-debuginfo-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-server-5.7.17-1.el7.x86_64.rpm
- ./mysql-community-test-5.7.17-1.el7.x86_64.rpm
3)启动MySQL数据库服务并设置开机自启
提示:第一次启动,需要初始化数据,会比较慢
- [root@host50 ~]# systemctl start mysqld //启动mysql服务
- [root@host50 ~]# systemctl enable mysqld //设置开机自启
- [root@host50 ~]# systemctl status mysqld //查看mysql服务状态
- ● mysqld.service - MySQL Server
- Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
- Active: active (running) since 二 2018-08-28 10:03:24 CST; 8min ago
- Docs: man:mysqld(8)
- http://dev.mysql.com/doc/refman/en/using-systemd.html
- Main PID: 4284 (mysqld)
- CGroup: /system.slice/mysqld.service
- └─4284 /usr/sbin/mysqld --daemonize --pid-file=/var/r...
- 8月 28 10:02:56 localhost.localdomain systemd[1]: Starting MySQ...
- 8月 28 10:03:24 localhost.localdomain systemd[1]: Started MySQL...
- Hint: Some lines were ellipsized, use -l to show in full.
步骤三:连接MySQL服务器,修改密码
查看初始密码
- [root@host50 ~]#grep –i 'password' /var/log/mysqld.log
- 2017-04-01T18:10:42.948679Z 1 [Note] A temporary password is generated for root@localhost: mtoa>Av<p6Yk //随机生成的管理密码为mtoa>Av<p6Yk
2)使用初始密码连接mysql服务
- [root@host50 ~]# mysql -u root -p'mtoa>Av<p6Yk' //初始密码登录,
- mysql: [Warning] Using a password on the command line interface can be insecure.
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 11
- Server version: 5.7.17
- Copyright (c) 2000, 2016, 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> //登录成功后,进入SQL操作环境
3)重置数据库管理员roo本机登录密码
- mysql> show databases;
- ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement //提示必须修改密码
- mysql> alter user root@”localhost” identified by "123qqq…A"; //修改登陆密码
- Query OK, 0 rows affected (0.00 sec)
- mysql> exit //断开连接
- [root@host50 ~]#
4)修改密码策略
- [root@host50 ~]# mysql -uroot –p123qqq…A
- mysql>
- mysql>set global validate_password_policy=0; //只验证长度
- Query OK, 0 rows affected (0.00 sec)
- mysql>set global validate_password_length=6; //修改密码长度,默认值是8个字符
- Query OK, 0 rows affected (0.00 sec)
- mysql> alter user root@”localhost” identified by "tarena"; //修改登陆密码
- Query OK, 0 rows affected (0.00 sec)
- mysql>exit
5)使用修改后的密码登录
- [root@host50 ~]# mysql -uroot -ptarena //登录
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 15
- Server version: 5.7.17 MySQL Community Server (GPL)
- Copyright (c) 2000, 2016, 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.
- mysql> show databases; //查看数据库
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mysql |
- | performance_schema |
- | sys |
- +--------------------+
- 4 rows in set (0.00 sec)
- mysql>