系统约定
安装文件下载目录:/data/software
Mysql目录安装位置:/usr/local/mysql
数据库保存位置:/data/mysql
日志保存位置:/data/log/mysql
一、下载mysql
1、在官网查找mysql版本:https://dev.mysql.com/downloads/mysql/
这是最新版本,点击 Archives 选择自己想要的版本
如下:
选择对应mysql版本,复制下载链接
2、下载mysql对应版本,我下载的5.7.59版本
2.1 创建mysql下载目录
# mkdir /data
# mkdir /data/software
2.2 下载mysql
# cd /data/software
/software# wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
建议用迅雷或其他快速软件在本地下载:https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz 下载完成后,上传到/data/software目录
二、安装mysql
1、解压mysql压缩包
# tar -zxvf /data/software/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
2、移动并修改文件名
# mv /data/software/mysql-5.7.29-linux-glibc2.12-x86_64 /usr/local/mysql
3、创建mysql数据仓库目录
# mkdir /data/mysql
4、新建mysql组、用户及目录
# groupadd mysql
# useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql
5、更改目录属有者
# cd /usr/local/mysql
/mysql# chown -R mysql:mysql .
# mkdir /data/mysql
# chown -R mysql:mysql /data/mysql
6、编译安装
# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
上文结尾处记录临时密码:RYeRt%y-0DlE,用于第一次登录使用
# /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/data/mysql
7、修改系统配置文件
# cd /usr/local/mysql/support-files/
/support-files# cp mysql.server /etc/init.d/mysql
7.1 配置mysql安装和存储路径
basedir=/usr/local/mysqldatadir=/data/mysql
8、启动mysql
# /etc/init.d/mysql start 或者 # service mysql start
8.1 错误1:
这是因为没有配置日志存储
创建日志存储
# mkdir /var/log/mariadb
# cd /var/log/mariadb
# vi mariadb.log
# chown -R mysql:mysql .
8.2 错误2:
解决方法1:直接删除或者重命名/etc/my.cnf文件
改变/etc/my.cnf名称或删除
解决方法2:考虑到后期更改某些配置可能会用到my.cnf文件,我们可以将datadir,socket路径替换为我们自定义的路径(如图1)
图1
buy the way:datadir必须修改为数据库保存位置,我在用命令导入.sql时,需要将socket路径改为/tmp/mysql.sock,方法如下 (一般不需要改,可忽略)
# ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
# chown mysql:mysql /tmp/mysql.sock
8.3 错误3:
已经可以启动了
删除数据库保存位置/data/mysql下的2个文件 ib_logfile0和ib_logfile1
9、配置mysql
# mysql -uroot -p
Enter password: RYeRt%y-0DlE //在第6步生成的临时密码
9.1 修改密码
mysql> set password=password('root');
9.2 设置远程连接
目前只限制本地登录,需要设置root用户的host地址才可远程连接
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
mysql>flush privileges;
注: 'root'@'指定ip' identified by '密码' ,指定ip为%则是所有ip都可以连接,密码可以随意设置,我的密码是和本地保持一致
测试远程连接ok
删除用户及权限:drop user '用户名'@'%';
备注:如提示不能成功连接,可能需要添加需要监听的端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
-----------------------------------------------------------------------------------------------
参考:https://www.cnblogs.com/fanshudada/p/9781794.html