1.下载mysql
https://dev.mysql.com/downloads/mysql/
2.选中mysql版本
对选中的版本进行下载
也可以在linux服务器上直接下载:wget -c https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
3.把下载好的文件放到/usr/local目录下(据说放其他目录可能有奇奇怪怪的问题,先放这里吧,后面试试其他目录)
用 tar -xvf tmysql-8.0.21-linux-glibc2.12-x86_64.tar.xz 命令进行解压
将解压好的目录重命名为mysql目录
4.卸载系统自带mysql,没有则下一步
查看:rpm -qa|grep mysql
卸载:rpm -e -nodeps softfullname
5.创建用户组和用户
创建用户组:groupadd mysql
创建用户:useradd -r -g mysql mysql
为了安全性,给mysql数据库创建专有用户,该用户只能访问mysql目录,不能访问系统其它目录
另外不建议直接用root初始化mysql,否则连接mysql时会报错:[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
6.给mysql用户指定专有用户和用户组
首先创建data目录
cd /usr/local/mysql
mkdir data
指定用户和用户组:
cd /usr/local
chown -R mysql mysql/
chgrp -R mysql mysql/
-R包含目录下所有和目录和文件
7、初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
记住生成的临时密码
如果忘记密码或者想重新初始化,可以先将mysql/data目录中文件删除,然后再执行初始化命令
8、配置my.cnf
vi /etc/my.cnf
精简版:只要这两行 其余的注释掉
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
9、启动
cd /usr/local/mysql/bin
启动:./mysqld_safe --user=mysql &
10、设为开机启动
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysql
vi /etc/init.d/mysql
将mysql目录填上:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
授权:chmod +x /etc/init.d/mysql
设为开机启动:chkconfig --add mysql
11、service启动
重启服务:service mysql restart
停止服务:service mysql stop
启动服务:service mysql start
查看服务:service mysql status
12、登录mysql修改密码授权远程登录
su - mysql
cd /usr/local/mysql/bin
登录:./mysql -u root -p 输入临时密码
修改密码:alter user 'root'@'localhost' identified by 'youpassword';
可使用navicat或sqlyog等工具进行登录,注意关闭防火墙或开放3306端口
本文主要参考来源自https://blog.csdn.net/NB6063/article/details/80417319博客。
mysql is neither service nor target!?
解决方案
运行以下命令,方可解决
systemctl unmask mysql.service
service mysql start