1、下载mysql5.7.26的安装包mysql-5.7.26-linux-glibc2.12-x86_64.tar
链接:https://pan.baidu.com/s/1syI7tS_O_jrj_vWXUESVtw
提取码:ar9x
自己也可在mysql官网自行下载
2、解压并安装相关依赖
将下载好的安装包拷贝到/opt目录下
解压:
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
重命名:
mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql-5.7.26
创建软连接到解压目录下:
ln -s /opt/mysql-5.7.26 /usr/local/mysql
检查是否安装libaio库:
yum list installed | grep libaio*
没有安装的话进行安装yum install libaio
对于MySQL 5.7.19及以上版本还需要安装libnuma依赖包,使用以下命令检查系统中是否已经安装该依赖包:
yum list installed | grep numactl*
没有安装的话进行安装yum install numactl
3、删除系统自带安装的其他版本mysql
检查是否安装了其他版本的mysql:
yum list installed | grep mysql
yum list installed | grep mariadb
MariaDB数据库是MySQL数据库的一个分支,一般CentOS 7系统中会默认安装该数据库,将其删除:
yum remove mariadb-libs.x86_64
4、mysql初始化并设置环境变量
进入软连接的目录:
cd /usr/local/mysql
新建用户:
useradd -s /sbin/nologin mysql
在根目录下新建data文件夹,存放日志等文件:
mkdir -p /data/mysql
给予mysql组的mysql用户操作权限:
chown mysql.mysql /data/mysql -R
mysql初始化并生成默认密码:
./bin/mysqld --initialize --user=mysql --datadir=/data/mysql
设置环境变量:
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
5、配置mysql的各种参数
vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
port=3306
datadir = /data/mysql
socket = /tmp/mysql.sock
max_allowed_packet = 512M
max_connections = 2048
open_files_limit = 65535
default_storage_engine = InnoDB
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
innodb_buffer_pool_size = 512M
innodb_log_file_size = 1024M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 0
key_buffer_size = 64M
log-bin = /data/mysql/mysql-bin
binlog_format = mixed
expire_logs_days = 10
slow_query_log = 1
slow_query_log_file = /data/mysql/slow_query.log
long_query_time = 1
server-id=1
[mysqld_safe]
log-error=/data/mysql/mysql_error.log
pid-file=/data/mysql/mysql.pid
每个配置具体含义不加描述,需要可以自行百度。
6、将mysql添加到系统服务
将mysql.server拷贝至/etc/init.d系统目录下:
cp support-files/mysql.server /etc/init.d/mysqld
编辑mysqld文件,指定basedir和datadir:
vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
7、启动mysql服务:
/etc/init.d/mysqld start
ps aux | grep mysql
8、使用初始密码登录并修改密码
mysql -uroot -p
修改密码:
set password=password("admin123");
退出重新登录:
quit或者exit
9、远程连不上mysql问题
以上安装完毕会出现1130 - Host XXX is not allowed to connect to this MySQL server。
解决方案如下:
1、登录mysql
mysql -uroot -p
2、输入 use mysql
3、执行
select host from user where user='root'
update user set host = '%' where user ='root'
4、重启mysql服务(/etc/init.d/mysqld restart)或者刷新配置(flush privileges)
这样就可以正常使用了