MySQL 在Linux 下的安装方式有 yum 、二进制 、源码安装,yum安装比较简单,这里不再介绍,
二进制版本要求不高,适用于测试用,若是线上环境,还请使用源码安装。这里主要介绍二进制安装。
1.查询删除原有mysql
使用rpm -qa | grep mysql搜索 mysql,如果存在,使用rpm -e --nodeps mariadb-*全部删除,
或使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除;
2.下载所需依赖包
yum remove libnuma.so.1
yum install make cmake libaio wget -y
yum install numactl.x86_64
3.获取MySQL
地址可以查看MySQL官网
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
4.创建MySQL用户组和用户
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
5.创建MySQL安装目录,数据目录,日志目录
mkdir /usr/app
mkdir /usr/app/mysqdata
mkdir /usr/app/mysqllog
修改文件权限
chown -R mysql:mysql /usr/app
6.解压到安装目录 /usr/app
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/app
cd /usr/app
mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql
chmod +w /usr/app/mysql
目录/usr/app下执行
chown -R mysql:mysql ./
7. /usr/app/mysql目录下初始化数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/app/mysql --datadir=/usr/app/mysqldata
记录下最后一行 root@localhost: h_kkpM2fAyfi mysql生成的root 临时密码
ssl 验证 bin/mysql_ssl_rsa_setup --datadir=/usr/app/mysqldata
8.创建配置文件
vi /etc/my.cnf
[mysqld]
#一般配置选项
user=mysql
port=3306
server_id=1
basedir= /usr/app/mysql
datadir= /usr/app/mysqldata
character_set_server=utf8
pid_file=/usr/app/mysqldata/mysql.pid
#socket = /var/run/mysqld/mysqld.sock
#错误日志
log_error= /usr/app/mysqldata/myerror.log
#慢日志
slow_query_log=1
slow_query_log_file=/usr/app/mysqllog/mysql.slow
long_query_time=5
#bin_log日志
log_bin=/usr/app/mysqllog/mysql_bin
skip_external_locking
skip_name_resolve
#开启独立表空间
innodb_file_per_table = on
[mysql]
no-auto-rehash
#socket = /var/run/mysqld/mysqld.sock
#default-character-set=utf8
#safe-updates
[client]
loose-default-character-set = utf8
9.配置mysqld
cp mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld ##修改basedir= 自己的路径 修改datadir= 自己的路径
10.启动mysql服务
/usr/app/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
报错:mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
解决方法:
#mkdir -p /var/run/mysqld
#chown mysql:mysql /var/run/mysqld
11.ps -ef|grep mysql 能看到类似下面的信息,说明启动成功;
/bin/sh /usr/app/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
/usr/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/app/mysql/
--datadir=/usr/app/mysqldata --plugin-dir=/usr/app/mysql/lib/plugin --user=mysql --log-error=/usr/app/mysqllog/mysql_error.log --pid-file=/usr/app/mysqldata/mysql.pid --socket=/var/run/mysqld/mysqld.sock
12.添加环境变量
echo "export PATH=$PATH:/usr/app/mysql/bin">>/etc/profile
source /etc/profile
13.连接登录
mysql -u root -p
如果连接不上 , 加 -S参数
mysql -uroot -p -S /var/run/mysqld/mysqld.sock
改密码:
alter user 'root'@'localhost' identified by '123456';
flush privileges;
退出重启
/etc/init.d/mysqld restart
14.添加开机启动
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on