首先进入官网下载mysql,官网地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads,选择最新的linux版本,本文使用的是mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
建议使用centos6.5以上的版本,本文使用的是contos7。在安装前,首先要检测系统是否自带安装 MySQL。
使用如下指令,查询linux系统上所有的mysql
rpm -qa | grep mysql
如果有下面类似的
mysql-libs-5.1.52-1.el6_0.1.x86_64
用下面的指令进行卸载:
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
检查否存在 mariadb 数据库,如有,卸载之,卸载同上
rpm -qa | grep mariadb
如果存在,同上面一样进行卸载
mariadb-libs-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
把下载好的mysql5.7.30上传到linux系统的opt目录下,进入opt目录进行解压
cd /opt
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.30-linux-glibc2.12-x86_64 /mysql-5.7.30
检查系统时是否存在mysql组和用户,如果没有这需要创建
cat /etc/group | grep mysql
#下面表示存在
mysql:x:1002:
[root@localhost opt]# cat /etc/passwd | grep mysql
mysql:x:1002:1002::/home/mysql:/sbin/nologin
如果没有,使用linux指令进行创建
groupadd mysql
useradd -r -g mysql mysql
创建data目录
cd /mysql-5.7.30/
mkdir data
修改//mysql-5.7.30的所有者及所属组改为mysql
chown -R mysql.mysql /mysql-5.7.30/
在/mysql-5.7.30/support-files目录下创建my_default.cnf
cd support-files/
touch my_default.cnf
编辑my_default.cnf文件,如下:
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#对应自己的目录,进行配置
basedir = /mysql-5.7.30
datadir = /mysql-5.7.30/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /mysql-5.7.30/data/mysqld.log
pid-file = /mysql-5.7.30/data/mysqld.pid
拷贝my_default.cnf到etc
cp support-files/my_default.cnf /etc/my.cnf
初始化 mysqld
cd /mysql-5.7.30/
./bin/mysqld --initialize --user=mysql --basedir=/mysql-5.7.30/ --datadir=/mysql-5.7.30/data/
初始化的目的是得到临时密码,为了第一次登录使用,查看日志文件如下:
vim /data/mysqld.log
一般在日志的最后一行,一定要记住
先把启动脚本放到开机初始化目录中,然后启动mysql服务,如下所示:
cp support-files/mysql.server /etc/init.d/mysql
service mysql start
使用刚刚的临时密码登录mysql,然后进行密码修改,如下:
cd /mysql-5.7.30
./bin/mysql -u root -p #这里可能会有异常,解决方法在下面
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
#刷新配置
mysql> flush privileges;
上面如果出现下面类似的错误,是因为CentOS缺少共享库libncurses,执行下面的指令进行解决:
#错误
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No suc
#解决方法
yum install libncurses*
添加远程访问的权限,然后重启mysql,使用mysql管理工具连接即可
mysql> use mysql;
#这个有的不用修改,可以使用select host, user from user; 查看是否满足需求,
#如果满足不用修改,不然会报错误
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
#停止
#service mysql stop
#启动服务
service mysql start
管理工具本文用的是mysql workbench,可以按照自己的喜好进行选择
mysql常用指令
#启动 MySQL 服务指令
service mysql start
# 连接指令,使用mysql目录下的bin/mysql
./bin/mysql -u root -p
#查看数据库 ,查看有哪些数据库(注意不要漏掉分号 ;):
show databases;
#查看表, 查看数据库中有哪些表(注意不要漏掉“;”):
show tables;
#退出
quit 或者 exit
觉得可以的可以点一下赞,如果之后有需要高级配置,集群服务的也可以评论区说一下,之后会更新