一.准备工作
阿里云ecs刚购买时实例名是很长的随机字符串,不利于后续操作,第一步先进入阿里云控制平台修改自己的实例名称。
二.卸载自带 mariadb数据库
1. 查找当前安装列表
rpm -qa | grep mariadb
2.卸载mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
3 .检查卸载干净没,可以看到已经没有列表了
rpm -qa | grep mariadb
三.正式安装mysql
1.系统约定
(利用xftp在相应位置建立文件夹)
安装文件下载目录:/data/software
Mysql目录安装位置:/usr/local/mysql
数据库保存位置:/data/mysql
日志保存位置:/data/log/mysql
2.下载mysql
在官网:http://dev.mysql.com/downloads/mysql/ 中,选择以下版本的mysql下载:
note:
下载的mysql后缀一定要一样,不一样的后缀安装方式不同。
然后将下载好的文件,通过xftp工具,放入software文件夹下
3.解压压缩包到目标位置
cd /data/software
#解压压缩包
tar -xzvf /data/software/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
#移动并修改文件名
mv /data/software/mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql
4.新建mysql用户、组及目录
# 新建一个msyql组
groupadd mysql
#新建msyql用户禁止登录shell
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql
5.改变目录属有者
cd /usr/local/mysql
pwd
#别忘了最后的.
chown -R mysql .
chgrp -R mysql .
chown -R mysql /data/mysql
6.配置参数
#初始化
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
note:
此处需要注意记录生成的临时密码,如上文结尾处的:Q=*H-?&z6dhR
#开启ssl
bin/mysql_ssl_rsa_setup --datadir=/data/mysql
note:
若在初始化过程中出错
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
- 需要先检查有无libaio
rpm -qa|grep libaio
- 若没有则进行安装
yum install libaio-devel.x86_64
(无网也可以用rpm安装,未实验)
http://www.rpmfind.net/linux/rpm2html/search.php?query=libaio-devel(x86-64) https://centos.pkgs.org/7/centos-x86_64/libaio-devel-0.3.109-13.el7.x86_64.rpm.html
7.修改系统配置文件
复制一个cnf文件到etc文件夹下面,改名叫my.cnf
find / -iname '*.cnf' -print
cp /data/mysql/auto.cnf /etc/my.cnf
cd /usr/local/mysql/support-files
#复制启动文件到指定目录并改名,方便之后做开机自启操作cp mysql.server /etc/init.d/mysqlvim /etc/init.d/mysql
#将mysql文件清空后加入
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
vim /etc/my.cnf
#清空后加入
[mysqld]
datadir=/data/mysql
[mysqld_safe]
8.启动mysql
# /etc/init.d/mysql start
#登陆
# mysql -hlocalhost -uroot -p
- 修改密码
mysql> set password=password('199711044');
9.设置root账户权限,支持远程连接
grant all privileges on *.* to 'root'@'%' identified by '199711044';
flush privileges;
or
grant all on *.* to root@'%' identified by '199711044'
flush privileges;
or
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '199711044' WITH GRANT OPTION;
flush privileges;
note:
如提示不能成功连接,可能需要添加需要监听的端口(暴力方法直接关闭防火墙)
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
10.在ecs开启3306端口
11.添加系统路径
vim /etc/profile
添加:
export PATH=/usr/local/mysql/bin:$PATH
#保存配置
source /etc/profile
12.配置mysql自动启动
- 将服务文件拷贝到init.d下,并重命名为mysql(之前已做)
- 赋予可执行权限
chmod 755 /etc/init.d/mysql
- 添加服务
chkconfig --add mysql
- 打开mysql345服务
chkconfig --level 345 mysql on
- 验证
netstat -na | grep 3306
如果看到有监听说明服务启动了