Linux安装Mysql5.7.21
1、查看是否安装mariadb,若安装了则卸载掉;同时查看是否已经安装了mysql
-
[root@localhost local]# rpm -qa | grep mariadb
-
[root@localhost local]# rpm -e --nodeps ×××
-
-
[root@localhost local]# rpm -qa | grep mysql
-
[root@localhost local]# rpm -ev ××× --nodeps
或者删除与mysql有关的(这里慎用,因为线上可能有的文件命名为mysql,实际上却和mysql无关,被删掉就gg了)
[root@localhost local]# find / -name "*mysql*" | xargs rm -rf
2、至mysql官网下载稳定版: https://dev.mysql.com/downloads/mysql/
3、下载好后上传至linux
-
[root@localhost /]# cd /usr/local
-
[root@localhost local]# rz
若没有rz命令报错,则先执行
[root@localhost local]# yum install lrzsz
4、解压并重命名(此时的路径: /usr/local)
-
[root@localhost local]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
-
[root@localhost local]# mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql
5、赋权限
-
[root@localhost local]# useradd mysql
-
[root@localhost local]# groupadd mysql
-
[root@localhost local]# chmod 777 /usr/local/mysql
-
[root@localhost local]# chown -R mysql.mysql /usr/local/mysql
-
[root@localhost local]# chgrp -R mysql /usr/local/mysql
6、初始化(记住密码 在root@localhost:后面的就是初始化的密码)
[root@localhost local]# ./mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
我在安装时报错
./mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方式:
rpm -qa|grep libaio
发现没有安装该库,则
yum install libaio-devel.x86_64
搞定!
7、将默认的3306端口加入防火墙
-
[root@localhost local]# vim /etc/sysconfig/iptables #加入以下
-
-A INPUT -p TCP --dport 3306 -j ACCEPT
8、编辑mysql配置文件 my.cnf
[root@localhost local] vim /etc/my.cnf
-
[
-
-
default-character-set=utf8
-
socket=/var/lib/mysql/mysql.sock
-
[
-
-
-
port = 3306
-
socket=/var/lib/mysql/mysql.sock
-
-
basedir=/usr/local/mysql/
-
-
datadir=/usr/local/mysql/data
-
-
max_connections=200
-
-
character-set-server=utf8
-
-
default-storage-engine=INNODB
-
-
max_allowed_packet=16M
9、启动服务
-
[root@localhost local]# cp ./mysql/support-files/mysql.server /etc/init.d/mysql
-
[root@localhost local]# chmod 777 -R /etc/init.d/mysql
-
[root@localhost local]# service mysql start
这个时候一般会报错(如果没报错就跳过此步骤)
-
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
-
2018-05-01T07:13:24.115963Z mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
-
ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
对症下药
-
[root@localhost local]# mkdir /var/lib/mysql
-
[root@localhost local]# chmod 777 -R /var/lib/mysql
10、添加至环境变量,以后就可以在任何目录下操作mysql命令了
-
[root@localhost bin]# vim /etc/profile
-
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/java/git2.8.0/bin:/usr/local/mysql/bin
-
-
[root@localhost bin]# source /etc/profile
11、测试登录
[root@localhost local]# ./mysql/bin/mysql -uroot -p
密码为刚才初始化时候记录下的,进入mysql后修改密码,设置权限(这里简单演示,实际生产中会创建专门的用户和限制IP段)
-
mysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
-
mysqsl>grant all privileges on *.* to 'root' @'%' identified by 'root';
12、加入系统服务
-
[root@localhost local]# chkconfig --add mysql
-
[root@localhost local]# chkconfig mysql on
浙公网安备 33010602011771号