CentOS 7.6 64bit安装mysql
1、查看是否已安装数据库
查询命令:
rpm -qa | grep -i mysql
如果存在软件包,执行以下命令进行删除:
rpm -e mysql //普通删除模式
rpm -e --nodeps mysql //强力删除模式,如果使用上面个的命令时,提示有依赖其他文件,可用该命令强制删除
卸载并删除MySQL安装的组件服务
查询命令
find / -name msyql
删除命令
rm -rf 查询到的路径,多个路径用空格隔开
CentOS7 默认会安装mariaDB,与MySQL有冲突
查看本系统是否安装此数据库
rpm -aq | grep maria*
删除方式同上
2、下载mysql压缩包
3、上传并解压
tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
将解压后的文件移动到/usr/local目录下,并更名为mysql
mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql
4、查看是否存在mysql用户组和MySQL用户
有则忽略,没有就添加
groups mysql
如果结果为:no such user,表示不存在,执行以下命令添加用户组和用户
groupadd mysql && useradd -r -g msyql mysql
5、创建数据存储地址并赋予权限
mkdir /data/mysql
chown mysql:mysql -R /data/mysql
6、设置配置文件
vim /etc/my.cnf
在上面文件(没有则会自动新建)中加入如下设置:
[mysqld]
bind-address=0.0.0.0
# 设置端口
port=3306
user=mysql
# 设置数据库程序所在目录
basedir=/usr/local/mysql
# 设置数据存储的目录
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
7、初始化
进入mysql的bin目录下,进行初始化操作
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
8、查看初始密码
cat /data/mysql/mysql.err
9、启动mysql服务
/usr/local/mysql/support-files/mysql.server start
10、添加MySQL软连接并重启MySQL服务
1)使mysql能通过service mysql start 的方式启动:
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
2)登录mysql是直接使用mysql -u root -p,不需要在mysql前加绝对路劲
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
3)启动MySQL服务
service mysql restart
11、登录mysql
MySQL登录命令:
mysql -u root -p
输入之前的初始化的密码
如果忘记密码,也可在 /etc/my.cnf 的[mysqld]模块下添加:skip-grant-tables 保存并退出
此时不需要输入密码直接按回车键即可进入数据库
12、设置允许外部访问
use mysql; # 选择mysql库
update user set user.Host = '%' where user.User = 'root'; # root账号能在任何host主机访问
flush privileges; # 刷新
13、修改密码
alter user "root"@"%" identitied by "123456";
set password "root"@"%"=password("123456");
flush privileges;
14、退出 quit
如果使用免密登录的,在/etc/my.cnf中删除配置,重启服务 service mysql restart