1. 准备工作
下载
请前往 MySQL 官网 下载所需的安装包。
在下载页面进行如下选择,下载 tar.gz 压缩包。
上传并解压
使用 Xftp 或 rz 命令将压缩包上传到 Linux 服务器 /usr/local/ 路径
解压tar.gz文件,并重命名解压后的文件夹为mysql:
tar zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql
卸载冲突数据库
如果 Linux 中存在 mariadb 等系统自带数据库,需要及时删除,否则会冲突
查找 mariadb
rpm -qa | grep -i mariadb
mariadb-libs-5.5.44-2.el7.x86_64
卸载
rpm -ev --nodeps mariadb-libs-5.5.44-2.el7.x86_64
如果之前安装过 mysql,那么不仅需要卸载,还需要删除所有 mysql 文件夹:
rpm -qa | grep -i mysql
rpm -ev mysql-5.7.12.x86_64
find / -name '*mysql*'
rm -rf (directories about mysql)
2. 安装
查看用户组
groups mysql
查询结果应为 mysql: mysql
如果没有的话应该使用:
groupadd mysql
useradd -g mysql mysql
为 mysql 用户授权
cd /usr/local/
chown -R mysql:mysql mysql/
配置 mysql.server
在其中加入:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
配置 my.cnf 文件
由于 mysql 5.7.18 之后取消了 my-default.cnf,无法拷贝,所以需要手动创建 my.cnf 文件:
touch /etc/my.cnf
my.cnf 详细配置可以参考 Windows 系统下已经安装好的 MySQL 的配置文件 my.ini,除了 basedir 和 datadir 文件不同,并且需要加上 log-error 和 pid-file 配置,其中,log-error 所在日志文件会记录 mysql 的初始密码,my.cnf 中详细配置信息如下:
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
注意,需要手动创建 log 文件夹和 mysqld.log 文件。
mysqld 初始化
先切换到 mysql 用户:
su mysql
执行 mysqld 初始化:
cd /usr/local/mysql/bin/
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
如果报如下错误:
2019-10-08T09:19:24.618827Z 0 [ERROR] --initialize specified but the data directory hs in it. Aborting.
2019-10-08T09:19:24.618871Z 0 [ERROR] Aborting
那么需要删除 /usr/local/mysql/data/
下所有文件。
如果报如下错误:
2019-10-08T09:22:37.560820Z 0 [ERROR] Could not open file '/usr/local/mysql/log/mysqlfor error logging: Permission denied
2019-10-08T09:22:37.560843Z 0 [ERROR] Aborting
那么需要将 log 下的 mysqld.log 权限改为 mysql:mysql
chown mysql:mysql mysqld.log
执行完毕后,在日志中可以查看到初始密码:
vim /var/log/mysqld.log
其中有一句日志:
2019-08-26T08:33:45.119759Z 1
[Note] A temporary password is generated for root@localhost: Ex9UJofddr-x
创建软链接
创建软链接,为 Linux 系统加上 mysql 相关命令,相当于在 Windows System32 目录下的各种 exe 文件,代表着系统直接可以执行的命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin
创建完成后,可以发现 /usr/bin 路径下多了一条 mysql 相关的软链接:
ll /usr/bin/mysql
lrwxrwxrwx. 1 root root 26 Aug 26 14:44 /usr/bin/mysql -> /usr/local/mysql/bin/mysql
mysqld 配置
拷贝启动文件到 /etc/init.d/ 下并重命令为 mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
增加执行权限
chmod 755 /etc/init.d/mysqld
检查自启动项列表中没有 mysqld
chkconfig --list mysqld
如果没有就添加 mysqld
chkconfig --add mysqld
设置开机启动
chkconfig mysqld on
启动测试
service mysqld start
登录 mysql
mysql -u root -p
回车,输入 log 中记录的初始密码,登录成功。
或者在 my.cnf 中加入:
skip-grant-tables
重启 mysql:
service mysqld start
这样可以免密登录。
同时修改初始密码:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
允许远端登录:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
此时再使用 SQLyog 等 GUI 软件使用 mysql 服务器 IP 和新密码登录
便可以开始愉快地使用 mysql 了。
附:参考博客
linux下安装mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz(centos)
liunx下安装mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz