1.检测是否安装Mariadb及Mysql数据库
1、检测系统有没有安装mysql数据库和Mariadb,执行命令:
rpm -qa | grep mysql
rpm -qa|grep mariadb
2、删除
如果有,需要先删除Mysql和Mariadb
1)mysql删除,执行命令:
yum remove mysql mysql-server mysql-libs mysql-server
find / -name mysql 将找到mysql相关东西delete掉(rm -rf /var/lib/mysql);
#删除my.cnf文件
rm /etc/my.cnf
#查看是否还有mysql软件,执行命令:
rpm -qa|grep mysql
如果存在的话,继续删除即可。
2)Mariadb删除:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
根据上面的检测,我们需要删除Mariadb。
2、拷贝离线安装包并解压
1、在Mysql官网下载安装包:https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
2、把MySQL离线安装包拷贝到/opt目录下:
用工具将mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz上传到/opt/下
3、解压安装包,解压到“/opt/”下面:
执行命令:
cd /opt
tar -xvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
重命名,执行命令
mv mysql-5.6.36-linux-glibc2.5-x86_64 mysql
3、建mysql用户、用户组
添加mysql组及创建用户mysql并将友好加到组mysql,执行命令:
groupadd mysql
useradd -g mysql mysql
4、修改配置文件my.cnf
1、进入到mysql目录,执行命令:
cd /opt/mysql
cp support-files/my-medium.cnf /etc/my.cnf
2、打开vi /etc/my.cnf文件,并在该文件中添加如下代码后保存退出
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/opt/mysql
# 设置mysql数据库的数据的存放目录
datadir=/opt/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
5、安装并配置数据库
进入安装mysql软件目录,并执行以下命令
cd /opt/mysql/
chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/
如果执行完后,报下面的错误,那么需要安装perl
执行命令
yum install perl
安装完成后,再次执行命令:
./scripts/mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/
如果报上面的错误,那么需要安装autoconf
安装完成后,再次执行命令:
./scripts/mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/
安装完成后,执行以下命令:
cd /opt/mysql
# 将mysql/目录下所有文件, 所有权都改回root用户。
chown -R root .
# mysql用户只需作为mysql/data/目录下所有文件的所有者
chown -R mysql data
并授予my.cnf权限,执行命令:
chmod 644 /etc/my.cnf
设置开机自启动服务控制脚本
<1>.复制启动脚本到资源目录,执行命令:
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
<2>.增加mysqld服务控制脚本执行权限,执行命令:
chmod +x /etc/rc.d/init.d/mysqld
<3>.将mysqld服务加入到系统服务,执行命令:
chkconfig --add mysqld
<4>.检查mysqld服务是否已经生效,执行命令:
chkconfig --list mysqld
结果类似如下:chkconfig --list mysqld
注:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据,可能被原生 systemd 配置覆盖。 要列出 systemd 服务,
需执行命令:
systemctl list-unit-files
查看在具体 target 启用的服务请执行命令:
systemctl list-dependencies [target]
mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
[root@localhost mysql]#
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
执行命令为:
service mysqld start
service mysqld stop
<5>打开/etc/init.d/mysqld文件,并在该文件中添加及修改如下代码,修改启动脚本执行如下命令:
/etc/init.d/mysqld
#或
vi /etc/init.d/mysqld
注:这是在编辑/etc/init.d/mysqld
# 配置MySQL的主目录
basedir=/opt/mysql/
# 配置MySQL的数据目录
datadir=/opt/mysql/data/
# 配置MySQL的端口
port=3306
# 5个位置的/usr/local/mysql全部修改成/opt/mysql,因为MySQL没有安装下/usr/local/mysq目录下,所以需要修改成MySQL安装的/opt/mysql目录
then
basedir=/opt/mysql
bindir=/opt/mysql/bin
if test -z "$datadir"
then
datadir=/opt/mysql/data
fi
sbindir=/opt/mysql/bin
libexecdir=/opt/mysql/bin
配置效果:
最后:按住Shift键,输入wq!回车保存后退出编辑界面
启动mysqld,执行命令
service mysqld start
配置环境变量文件/etc/profile,执行命令
vim /etc/profile
后保存退出
# 将MySQL主目录下面的bin目录加入到PATH环境变量
export PATH=$PATH:/opt/mysql/bin
使环境变量立即生效,执行命令
source /etc/profile
6、设置Mysql数据库密码
以root账户登录mysql,默认是没有密码的,执行命令
mysql -uroot -p
要求输入密码的时候,直接回车
<1>.设置root账户的密码,之后重启MySQL
执行命令:
use mysql;
update user set password=password('zj88064488') where user='root';
flush privileges;
exit;
service mysqld restart
<2>、测试密码是否有用,执行命令:
mysql -u root -p
输入密码看是否能登录成功
7、给root用户开启远程登录权限
执行以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'zj88064488' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Exit;
8、防火墙开启3306端口权限
<1>、授权3306端口号权限,执行命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
<2>、重启防火墙,执行命令
firewall-cmd --reload
注意:
<1>配置权限后,如果发现远程登录有如下报错,解决办法:把密码重新重置一遍