安装之前,一定要彻底删除原有数据库!!!
首先停止掉mysql服务
rpm -qa|grep -i mysql //查询出所有mysql依赖包
rpm -ev 安装包名称 //执行该命令进行删除,注意依赖包删除顺序,根据提示删除即可
find / -name mysql //查询相关mysql文件,然后进行删除,rm -rf 文件名
rm -rf /etc/my.cnf //手动删除配置文件
最后再执行一遍以上命令,看是否删除成功!
链接:https://pan.baidu.com/s/1Qan0RUeOiOdRRDJ5TXZcqQ
密码:s2th
将压缩包放置到 /usr/local/ 目录下。
进入到 /usr/local/ 目录下,执行:
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
在 /usr/local/ 下创建mysql目录
mkdir mysql
将解压后的文件移动到mysql目录下(注意是解压后文件夹下的所有文件)
mv mysql-5.7.22-linux-glibc2.12-x86_64/* mysql
为什么创建用户组,摘自贴吧某某某的话:
安全性考虑 mysql这种对外服务肯定不能用root 万一有bug 不至于影响到其他的 因为读写不了其他用户的文件
groupadd mysql //创建用户组mysql
useradd -r -g mysql mysql //-r参数表示mysql用户是系统用户,不可用于登录系统
chown -R mysql mysql ./ //添加用户mysql 到用户组mysql
vim /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
#datadir=/var/lib/mysql
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
在mysql目录下创建data文件夹
mkdir data
进入日志目录,创建日志文件
cd /var/log
vim mysqld.log
什么也不写,保存退出:wq!
chmod 777 mysqld.log //赋予权限
chown mysql:mysql mysqld.log
/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 //这是一行代码哦
basedir:安装目录路径
datadir:数据库数据的根路径
initialize:生成随机密码,使用-initialize-insecure生成空密码。默认帐号root。
cd /var/run/
mkdir mysqld
chmod 777 mysqld
cd mysqld
vim mysqld.pid //什么也不写,保存退出
chmod 777 mysqld.pid
chown mysql:mysql mysqld.pid
开机自起动:cp mysql.server /etc/init.d/mysql
启动 service mysql start
这时候执行mysql -uroot -p 如果提示无该命令,则执行第7步B和C。
初始化后可以生成一个数据库的初始密码,查看
cat /var/log/mysqld.log(这个密码比较难找,就是在root@localhost:后面这个)
但是执行启动服务,输入密码,无效!提示如下情况
因此只能强制修改root密码,修改步骤如下:
A、停止服务 service mysql stop
B、给mysqld_safe 赋予 命令执行权限ln -s /usr/local/mysql/bin/mysql_safe /usr/bin
C、给mysql 赋予 命令执行权限ln -s /usr/local/mysql/bin/mysql /usr/bin
D、执行mysqld_safe --skip-grant-tables &
E、执行mysql
F、执行use mysql;
G、修改密码:update user set authentication_string=password('123456') where user="root";
H、flush privileges;
L、退出 quit
M、重新开启mysql服务
service mysql start
N、Mysql -uroot -p
输入重新设置的密码即可。
到此,mysql 安装成功!!!
进入mysql,执行以下命令
GRANT ALL PRIVILEGES ON *.* TO '远程连接用户名'@'%'IDENTIFIED BY '远程连接密码' WITH GRANT OPTION;
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql.server
chkconfig mysql.server on
service mysql.server start
欢迎大家给出指导意见,小白谢过了~~~