简单的数据库集群系列(二)之mysql安装
博客涉及的相关软件仅供学习参考,不做任何商业用途以及无相关法律责任!如有不妥请联系QQ 3278688677 进行更正。
一、mysql获取 直接进入mysql官网(https://www.mysql.com)选择你想要的版本下载,本案例采用mysql-5.7.26,该数据库通过了各项安全检查,稳定性比较可靠后边做数据库集群的扩展性也跟得上。链接: https://pan.baidu.com/s/1_jGGyQXi2qx-nB_e9nzlGg 提取码: j64d
二、远程准备工作推荐IDEA或者MobaXterm_Portable,可以远程服务器也可以往服务器上传文件,当然还有其他重量级的ssh和sftp的组合工具。教程前期使用的是MobaXterm_Portable轻量级工具,可以去官网(https://mobaxterm.mobatek.net/)下载也可以去云下载链接: https://pan.baidu.com/s/1iERzGiMvS1toB28PPjjRzA 提取码: 2tmh
1.解压工具 MobaXterm_Portable_v11.1.zip
2.运行工具配置你的服务器ip
3.如图步骤所示新建登录服务器的账户密码记录
4.选择配置
5.双击ip连接服务器,好了准备工作到此结束
三、mysql安装
1.上传mysql压缩文件到新建目录下
2. 查看系统是否自带mariadb数据库:rpm -qa | grep mariadb
3.如果有请卸载(mariadb的版本根据实际查看到的为准):rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
4.创建MySQL数据库运行的用户和用户组:
groupadd -r mysql # 添加用户组
useradd -r -g mysql mysql # 创建用户
passwd mysql # 给用户设置密码
5.解压mysql源文件到/morik/sql目录下
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /morik/sql/
6.更改文件名
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql_5.7.26
7.创建软链接(删除软连接参考rm -rf ./mysql_5.7.26)
ln -s /usr/local/mysql /cinsoft/sql/mysql_5.7.26
8.更改目录权限
chown -R mysql:mysql /morik/sql/mysql_5.7.26
9.初始化数据库
/morik/sql/mysql_5.7.26/bin/mysqld --initialize --user=mysql --basedir=/morik/sql/mysql_5.7.26 --datadir=/morik/sql/mysql_5.7.26/data
如果出现下图所示:
请执行安装libaio:
yum search libaio
yum install libaio
10.获取初始化密码,步骤9成功后末尾会有下面这句话其中 tc-F2h9y8&Dg 为初始化密码请用文本保存以供复制粘贴
[Note] A temporary password is generated for [email protected]: tc-F2h9y8&Dg
11.创建RSA private key
/morik/sql/mysql_5.7.26/bin/mysql_ssl_rsa_setup --datadir=/morik/sql/mysql_5.7.26/data
12.添加开机自启
cp /morik/sql/mysql_5.7.26/support-files/mysql.server /etc/init.d/mysqld
13.修改/etc/init.d/mysqld中的basedir和datadir
vim /etc/init.d/mysqld
将
basedir=
datadir=
改为(以第9步骤实际目录为准):
basedir=/morik/sql/mysql_5.7.26
datadir=/morik/sql/mysql_5.7.26/data
:wq 保存并退出并执行如下命令:
chkconfig mysqld on
chkconfig --list mysqld
14.修改全局配置文件将mysql可执行路径加入到PATH
vim /etc/profile
在/etc/profile最后一行添加:
export PATH=/morik/sql/mysql_5.7.26/bin:$PATH
:wq保存退出并执行
source /etc/profile
使配置文件立即生效
15.配置启动文件
删掉系统自带的/etc/my.cnf或者改名,在/cinsoft/sql/mysql_5.7.26目录新建my.cnf
vim /morik/sql/mysql_5.7.26/my.cnf
粘贴如下配置:
[mysqld]
character-set-server=utf8
datadir=/morik/sql/mysql_5.7.26/data
socket=/morik/sql/mysql_5.7.26/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
[client]character-set-server=utf8
socket=/morik/sql/mysql_5.7.26/mysql.sock
[mysql]character-set-server=utf8
socket=/morik/sql/mysql_5.7.26/mysql.sock
16.数据库加密执行以下命令:
mkdir /etc/my.cnf.d
/morik/sql/mysql_5.7.26/bin/mysql_ssl_rsa_setup --datadir=/morik/sql/mysql_5.7.26/data
17.启动mysql
/etc/init.d/mysqld start
如果报mysql.sock找不到系统默认的客户端使用的mysql.sock文件是基于unix sock的,此时最简便的办法是创建一个软链接:
ln -s /cinsoft/sql/mysql_5.7.26/mysql.sock /tmp/mysql.sock
18.登录MySQL
mysql -uroot -p
输入步骤10的密码
如出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO);
尝试重新进入该文件夹(/morik/slq/mysql_5.7.26/bin)后再次执行
Enter password:这里输入之前的临时密码
mysql> set password=password('新密码'); # 修改登录密码
mysql> flush privileges; # 刷新
19.设置远程访问
firewall-cmd --add-port=3306/tcp --permanent # 开放端口
firewall-cmd --reload # 使端口生效
systemctl restart firewalld.service # 重启防火墙
20.开放远程登录用户名密码:
mysql -uroot -p # 本地登录数据库终端(密码来自步骤18)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '远程连接密码可以和本地密码保持独立' WITH GRANT OPTION; # 远程设置密码
mysql> flush privileges; # 刷新配置
mysql> exit; # 退出
21.用数据库连接工具连接测试下,到此数据安装教程已经完毕。远程连接推荐使用navicat,下载地址链接: https://pan.baidu.com/s/1_PQexT6Mq5Vg177ljZ_8fA 提取码: ev4j 。也可以去官网(https://www.navicat.com.cn/)下载
备注:远程连接1045/1130处理方法:
1.首先再服务器的mysql打开cmd输入:
[[email protected] bin]# ./mysql -uroot -p # 登录数据库终端
接下来会提示输入密码
2.进入成功以后找到表user:
use mysql
提示database changed表示成功
3.修改表里的参数,也就是权限修改
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root123.' WITH GRANT OPTION;
4.在进入这句话完了以后需要再加上一句:
flush privileges;
(告诉mysql进行权限刷新)
5.退出mysql的连接