1. 将自己下载的MySQL安装包上传到服务器
- 上传到
/opt
目录下
2. 安装前必须删除原来的安装
需要检查 以下文件是否存在 ,如果存储则要删除之
ls /etc/my.cnf
ls /etc/init.d/mysqld
3. 安装mysql 依赖的库
yum install libaio
4.创建mysql 用户与用户组
groupadd mysql
#-s /bin/false 表示该用户不能登录
useradd -r -g mysql -s /bin/false mysql
5.解压安装包至指定目录
tar -zxvf mysql-5.6.47-x86_64.tar.gz -C /usr/local/
6.在/srv
文件夹下给MySQL的安装目录创建一个软连接(相当于快捷方式)
- 切换到
/srv
目录,执行下面的脚本
ln -s /usr/local/mysql-5.6.47-linux-glibc2.12-x86_64/ mysql
7.把这个软连接文件的组和拥有者权限赋给mysql用户
chown -R mysql mysql
chgrp -R mysql mysql
8.在根目录下创建一个data/mysql目录用来存放mysql的数据文件,并把这个文件授权给mysql用户
mkdir -p /data/mysql
chown -R mysql /data/mysql
chgrp -R mysql /data/mysql
- 授权完成之后可以检查一下这个文件夹的信息 ,看到已经授权成功。
9.从mysql的安装目录里面的support-files文件家里面去拷贝一个默认的配置文件到 /etc下面,重命名为my.cnf
cp /srv/mysql/support-files/my-default.cnf /etc/my.cnf
10.修改/etc/my.cnf这个配置文件
vi /etc/my.cnf
[mysqld]
basedir=/srv/mysql
datadir=/data/mysql
character-set-server=utf8
- basedir:是mysql的安装目录,可以写真实的安装目录,也可以写软连接;
- datadir:是配置mysql数据文件的存放路径
- character-set-server:配置mysql的字符集
11.将mysql的配置文件复制到/etc/init.d文件夹下,/etc/init.d 是 /etc/rc.d/init.d 的软链接(soft link)。
/etc/rc.d/init.d/目录下的脚本就类似与windows中的注册表,在系统启动的时候某些指定脚本将被执行。
cp /srv/mysql/support-files/mysql.server /etc/init.d/mysql
12.初始化mysql数据库
mysql的安装目录下有scripts文件夹,下面有一个mysql_install_db脚本,执行这个脚本初始化数据库
一定要在MySQL的安装目录下执行这个命令否则会报错,找不到my_print_defaults文件
./scripts/mysql_install_db --user=mysql --basedir=/srv/mysql/ --datadir=/data/mysql/
出现报错:
解决:
yum -y install autoconf
yum -y install perl perl-devel
yum -y install libaio-devel
yum -y install numactl
三个依赖都安装好之后,再次执行上面的脚本
13.配置环境变量
vi /etc/profile
PATH=/srv/mysql/bin:$PATH
export PATH
- 刷新配置文件
source /etc/profile
14.启动mysql,并配置mysql其他参数
service mysql start
设置root用户密码
mysql_secure_installation
回车,直到这一步输入密码,后面全是y
15.设置允许远程登陆
先登陆mysql
1.use mysql;
2.select host,user,password from user;
#这个是改密码的可以不执行
#update user set password=password('123456') where user='root';
3.update user set host='%' where user='root' and host='localhost';
4.flush privileges;
16.设置mysql开机自启动
#加入到系统服务:
chkconfig --add mysql
#自动启动:
chkconfig mysql on
#查询列表:
chkconfig
16.配置3306端口允许外部访问
#开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#重启防火墙
firewall-cmd --reload