手把手教你部署一套生产级的MySQL数据库
检查是否有安装过 mysql;
#输入如下命令,检查是否安装了mysql
rpm -qa |grep mysql按照顺序,依次卸载服务;
#卸载之前请先关闭 mysql 服务,命令如下
systemctl stop mysqld
#依次卸载相关服务
rpm -e --nodeps mysql-community-server
rpm -e --nodeps mysql-community-client
rpm -e --nodeps mysql-community-libs
rpm -e --nodeps mysql-community-common清理依赖的文件;
#删除数据库配置文件
rm -rf /etc/my.cnf
#删除数据库数据文件
rm -rf /var/lib/mysql
#删除日志临时文件
rm -rf /var/log/mysqld.log2.3MySQL 安装环境准备检查是否安装了mariadb,如果已安装,需要卸载;
CentOS7 版本默认是已安装 mariadb,CentOS6 本本默认是已安装 Mysql,可以安装上面步骤卸载。
#输入如下命令,检查是否安装了mariadb
rpm -qa | grep mariadb如果出现如下信息,表示已安装 mariadb,可以安装下面步骤进行卸载。
#卸载mariadb
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps#再次检查,是否已经mariadb,如果没有,表示卸载完毕
rpm -qa | grep mariadb安装软件包所需的依赖;
一般都是最新版了,以防万一后面安装出错,缺少依赖;
yum install libaio -y
yum install net-tools -y2.4安装 MySQL 软件包将上文中下载的软件包,上传到 CentOS 服务器某个文件夹下。
当然,你还可以直接使用wget命令直接在服务器端下载文件,操作步骤如下:
#安装wget命令
yum install wget#下载server 包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.38-1.el7.x86_64.rpm
#下载client 包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-client-5.7.38-1.el7.x86_64.rpm
#下载common 包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-common-5.7.38-1.el7.x86_64.rpm
#下载libs 包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-libs-5.7.38-1.el7.x86_64.rpm文件上传到服务器或者下载到服务器磁盘上之后,我们就可以对 Mysql 进行安装了。
安装时必须严格遵守安装顺序,依赖关系依次为common → libs → client → server。
#安装步骤如下:
rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm命令说明:ivh中, i表示install安装;v表示verbose进度条;h表示hash哈希校验。
以上 rpm 包安装完成之后,输入如下命令,可查询安装的 MySQL 版本。
mysqladmin --version2.5启停及查询服务状态查询 MySQL 系统的状态;
systemctl status mysqld启动 MySQL 数据库;
systemctl start mysqld关闭 MySQL 数据库;
systemctl stop mysqld重启 MySQL 数据库;
systemctl restart mysqld设置开机启动。
systemctl enable mysqld
# 重载所有修改过的配置文件
systemctl daemon-reload2.6登录 MySQL 并修改配置在 MySQL5.7.4 之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,在里面进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个临时密码,通过临时密码进入之后进行再进行修改。
1.获取数据库的临时密码命令如下:
grep temporary password /var/log/mysqld.log2.使用临时密码登录;
#输入如下命令回车,然后粘贴临时密码,再回车
mysql -uroot -p操作类似如下图:
3.修改 root 账户密码
输入如下命令,修改root账户密码;
mysql> ALTER USER root@localhost IDENTIFIED BY new_password;以后,如果想要修改密码,可以通过如下命令实现。
mysql> use mysql;
mysql> update user set password=PASSWORD(new_password) where user=root;
mysql> flush privileges;注意:mysql 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。
具体可以查看 MySQL 官网密码详细策略。
4.添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接 mysql,必须添加一个允许远程连接的帐户,或者修改 root 为允许远程连接。
添加一个允许远程连接的帐户,方式如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO zhangsan@% IDENTIFIED BY Zhangsan2018! WITH GRANT OPTION;修改 root 为允许远程连接,方式如下(不推荐):
mysql> use mysql;
mysql> UPDATE user SET Host=% WHERE User=root;
mysql> flush privileges;最后,使用客户端,输入服务器 IP、账户、密码,即可登录 MYSQL 数据库!
5.设置默认编码为 utf8(非必需,可以跳过)
mysql 安装后默认不支持中文,需要修改编码。
修改/etc/my.cnf配置文件,在相关节点(没有则自行添加)下添加编码配置,如下:
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8最后,重启 mysql 服务,查询编码,可以看到已经改过来了。
shell> systemctl restart mysqld
shell> mysql -uroot -p
mysql> show variables like character%;默认配置文件路径如下:
配置文件:/etc/my.cnf日志文件:/var/log/var/log/mysqld.log服务启动脚本:/usr/lib/systemd/system/mysqld.servicesocket文件:/var/run/mysqld/mysqld.pid三、小结
本文主要围绕如何在 CentOS 操作系统上安装部署 Mysql 数据库,希望能帮助到大家!
扫一扫,关注我们