Linux安装MYSQL

安装的版本MYSQL

版本:mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
下载地址:https://dev.mysql.com/downloads/mysql/

  • 完全卸载之前版本

1.使用以下命令查看当前安装mysql情况,查找以前是否装有mysql
rpm -qa|grep -i mysql
2.显示之前安装了:例如
MySQL-client-5.5.25a-1.rhel5
MySQL-server-5.5.25a-1.rhel5
3.停止mysql服务、删除之前安装的mysql
删除命令:rpm -e –nodeps 包名
rpm -ev MySQL-client-5.5.25a-1.rhel5
rpm -ev MySQL-server-5.5.25a-1.rhel5
如果提示依赖包错误,则使用以下命令尝试
rpm -ev MySQL-client-5.5.25a-1.rhel5 –nodeps
如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1
则用以下命令尝试:
rpm -e –noscripts MySQL-client-5.5.25a-1.rhel5

查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

find / -name mysql 

结果:
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
删除对应的mysql目录

rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql

注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf
  • 安装MYSQL
    卸载系统自带的Mariadb数据库
    检查是否安装过mariadb
rpm -qa|grep mariadb

如果有那么久卸载掉

rmp -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

创建mysql用户组和mysql用户

groupadd mysql
创建一个用户名为mysql的用户并添加到mysql组里面
useradd -g mysql mysql

在/usr/local目录下解压mysql压缩包

cd /usr/local
tar zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

解压后将它重命名为mysql

mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql

修改mysql目录的权限
进入到mysql目录下

把该目录下的文件和目录属主修改为mysql用户
chown -R mysql .
把该目录下的文件和目录所属的组改为mysql组
chgrp -R mysql .

在mysql目录下新建一个data目录

mkdir data

初始化mysql

进入bin目录
cd /usr/local/mysql/bin
执行
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化成功之后窗口会有一个root用户的初始密码:记下来

进入到mysql目录下

把该目录下的文件和目录属主修改为root用户
chown -R root .
把该目录下的data目录属主修改为mysql用户
chown -R mysql data

启动MySQL,并查看是否已启动成功
进入到support-files目录

[root@VM_0_3_centos support-files]# ./mysql.server start
会打印:
Starting MySQL.Logging to '/usr/local/mysql/data/VM_0_3_centos.err'.
. SUCCESS! 

查看是否成功了
[root@VM_0_3_centos support-files]# ps aux | grep mysqld
root     14787  0.0  0.0 113252  1620 pts/1    S    09:57   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/VM_0_3_centos.pid
mysql    14872  0.3  9.1 1120592 172536 pts/1  Sl   09:57   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=VM_0_3_centos.err --pid-file=/usr/local/mysql/data/VM_0_3_centos.pid
root     15135  0.0  0.0 112644   964 pts/1    R+   09:58   0:00 grep --color=auto mysqld

通过初始密码登录MySQL,并修改密码

在bin目录下执行:
[root@VM_0_3_centos bin]# ./mysqladmin -uroot -p password
Enter password: (刚刚初始化记录下来的密码)
New password: (设置的新密码)
Confirm new password: (确认新密码)
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

关闭MySQL服务,并查看是否关闭成功

 ./mysqladmin -uroot -p shutdown
 查看状态:
 ps aux | grep mysqld

设置开机自启

复制启动脚本到资源目录
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
增加mysqld服务控制脚本执行的权限
chmod +x /etc/rc.d/init.d/mysqld
将mysqld服务加入到系统服务
chkconfig --add mysqld
检查mysqld服务是否已经生效
chkconfig --list mysqld
日志:
ote: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
说明已经生效了

以后可以使用service命令控制mysql的启动和停止,命令为:service mysqld start和service mysqld stop,有可能执行的时候会报错,如下图
这里写图片描述

这是因为mysql默认安装在/usr/local目录下,如果安装在/usr/local目录下则会正常启动和关闭,不会报错。但是本次安装在自定义的/data目录下,此时需要修改/etc/init.d/mysqld文件,保存后退出

basedir=/usr/local/mysql 
datadir=/usr/local/mysql/data

然后在执行service mysqld start启动命令,OK

配置全局环境变量

编辑/etc/profile文件
vi /etc/profile
增加代码:
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
保存退出

设置环境变量立即生效

source /etc/profile

设置远程主机登录

登录mysql
mysql -uroot -p
Enter password: 
登录成功之后执行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Aa123456' WITH GRANT OPTION;
exit;退出

开放3306端口
编辑iptables
vim /etc/sysconfig/iptables
然后增加:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306-j ACCEPT
重启防火墙使配置生效
systemctl restart iptables.service

最后使用nevicat连接成功!恭喜您

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值