1.环境:Centos7.4
2.卸载MariaDB(CentOS7 默认自带)
注:一定要将mariaDB包和自带mysql包卸载干净,否则安装时出现各种奇妙错误,导致失败。
#rpm -qa | grep -i mariadb
#rpm -e --nodeps 强制删除mariadb的所有相关软件包
#find / -iname mariadb或者whereis mariadb 查找是否有相关配置目录及文件,如有,则 rm -rf 删除
3.卸载已有MySQL
//卸载旧版本的Mysql
rpm -qa | grep -i mysql //查看有没有安装mysql
rpm -e MySQL-client-5.6.38-1.el7.x86_64 //如果有,卸载旧版本Mysql及相关依赖包
//删除服务
chkconfig --list | grep -i mysql //查看服务
chkconfig --del mysql //删除服务
//删除mysql分散的文件夹
whereis mysql //查出相应的mysql文件夹,也可以用find / -name *mysql*
rm -rf /use/lib/mysql //删除
4.安装依赖
注:先装好依赖,再装mysql。即使顺序出错,装完依赖一定要卸载mysql并重新装mysql,否则mysql装上了也会出现各种错误。
#rpm -ivh m4-1.4.16-10.el7.x86_64.rpm
#rpm -ivh perl*(ISO镜像里有,挂载镜像,做个本地yum源即可安装)
#rpm -qa |grep perl-Data-Dumper (如无perl-Data-Dumper依赖包,则上网下载perl-Data-Dumper-2.145-3.el7.x86_64并安装)
#rpm -ivh autoconf-2.69-11.el7.noarch
5.下载MySQL: https://dev.mysql.com/downloads/mysql/
6.增加MySQL组
#cat /etc/group |grep mysql #cat /etc/passwd |grep mysql //检查mysql用户及组是否存在,如果没有执行下面命令
#groupadd mysql //创建组
#useradd -r -g mysql mysql //创建用户并把该用户加入到组mysql,这里的 -r是指该用户是内部用户,不允许外部登录
#passwd mysql //给用户mysql设置密码,需要输入2次
7.安装MySQL
解压mysql
#tar -xvf MySQL-5.6.38-1.el7.x86_64.rpm-bundle.tar //注意,是-xvf不是-zxvf
a.安装mysql
#rpm -ivh MySQL-client-5.6.38-1.el7.x86_64.rpm //-i是安装,-v是列出更多详细信息,-h是在安装时列出hash标记
#rpm -ivh MySQL-devel-5.6.38-1.el7.x86_64.rpm
#rpm -ivh MySQL-server-5.6.38-1.el7.x86_64.rpm
# cp /usr/share/mysql/my-default.cnf /etc/my.cnf /设置字符集,连接数等相关参数
b.修改mysql用户密码
# /usr/bin/mysql_install_db
//初始化
service mysql status //查看mysql服务状态 //如果是开启服务状态,用service mysql stop关闭服务
mysqld_safe --user=root --skip-grant-tables --skip-networking & //绕过密码登录,mysql未启动前设置
mysql -u root -p //登录
use mysql //切换数据库
select Host,User,Password from user; //查询用户
UPDATE user SET password=password("root") WHERE user='root'; //修改密码
quit //退出
#service mysql restart //重启mysql服务
#mysql -u root -proot // -proot,p代表password,root是密码
>use mysql //切换数据库
>set password = password('root'); //第一次登陆必须修改mysql密码
>flush privileges; //刷新权限
//赋予任何主机访问数据的权限(远程访问)
>grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
>flush privileges;//刷新权限
>quit //退出
# mysql service mysql restart //重启mysql
c.让防火墙开放开3306端口(Centos7以上是由firewall来管理的)
//查看firewall状态(runing:运行,not runing:没有运行),如果没有运行,用systemctl start firewalld启动
firewall-cmd --state
firewall-cmd --permanent --zone=public --add-port=3306/tcp //添加3306端口
firewall-cmd --reload //重新加载firewall
d.设置mysql开机启动
#chkconfig --list mysql //查看mysql服务
#chkconfig mysqld on //开启MySQL服务自动开启命令
#chkconfig mysql on //开启MySQL服务自动开启命令
mysql集合重要目录
- /var/lib/mysql 数据库文件
- /usr/share/mysql 命令及配置文件
- /usr/bin mysqladmin、mysqldump等命令