linux下安装mysql有三种方式:①yum安装 ②rpm安装 ③源码包安装
这里介绍第三种安装方式
操作系统:centos7.4
mysql版本:5.7.25,安装时注意版本区别,不同版本安装配置稍有差异。
若之前装过mysql请先删除再进行安装
1.卸载centos7自带的 MariaDB
rpm -qa|grep mariadb // 查询出来已安装的mariadb
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64 //删除查询出来的mariadb
yum -y install numactl.x86_64; //安装依赖
2.官网下载源码包
下载页面:https://dev.mysql.com/downloads/mysql/
该页面下方是最新版本,圆圈中的位置是旧版本
点击 Download 按钮会让你登录之后下载
这里上传到服务器有两种方式
①下载到本地(windows系统),通过上传工具发送到服务器
②在Linux命令界面进入要放置安装包的目录例如
cd /usr/local
右击上图 Download 按钮——复制链接地址——在linux命令界面执行——wget 复制的链接地址
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
3.解压安装包
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
如果压缩包名是以 ..tar 结尾,则解压方式为
tar -xvf mysql-5.7.25-linux-glibc2.12-x86_64.tar
删除下载的安装包
rm mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
修改解压出来的文件夹名为mysql
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql
4.创建数据文件存放目录
进入mysql目录,新建data目录
cd /usr/local/mysql
mkdir data
5.创建系统用户组和用户
cat /etc/group --查看所有用户组信息是否存在mysql组,不存在则创建,存在则直接新建用户
groupadd mysql ---新建一个msyql组
cat /etc/passwd|grep mysql ---查看是否存在mysql用户
useradd -g mysql mysql ---新建msyql用户
6.修改当前目录权限
chown -R mysql:mysql /usr/local/mysql
7.初始化数据库
cd /usr/local/mysql/bin //进入bin目录
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意结尾有初始密码,这个先记录下来,后面会用到。
若报如下错
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object
file: No such file or directory
则执行
yum remove libnuma.so.1;
yum -y install numactl.x86_64;
将 mysql 加入服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
8.配置my.cnf
搜索my.cnf
find / -name my.cnf
找到后复制到 /etc/my.cnf
并进行如下编辑,若找不到则在/etc下手动编辑一个
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不区分大小写
lower_case_table_names = 1
#不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
9.添加开机启动
vim /etc/init.d/mysql
编辑其中两个属性如下
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
开机自启
chkconfig --add mysql
chkconfig mysql on
启动mysql:
service mysql stop
service mysql start
查询列表:
chkconfig | grep -i mysql
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行
chkconfig --level 345 mysql on
重启电脑
reboot
验证
netstat -na | grep 3306
连接Mysql
cd /usr/local/mysql/bin
./mysql -uroot -p
然后输入默认密码,登录后修改默认密码
alter user 'root'@'localhost' identified by '新密码';
flush privileges; ---刷新权限,之后退出重新登录
10.创建用户并授权
添加用户允许其在任意地址登录
CREATE USER 'dog'@'%' IDENTIFIED BY '123456';
授予所有库的所有权限
GRANT ALL PRIVILEGES ON *.* TO 'dog'@'%' IDENTIFIED BY '123456';
刷新权限
flush privileges;