Skip to content

官方网址

官方文档

一、MySQL数据库目录说明:

主配置文件:/etc/my.cnf 数据库目录:/var/lib/mysql 服务启动日志目录:/var/log/mysqld.log(其它后面会讲) 默认端口号:3306 进程名:mysqld 传输协议:TCP 进程所有者:mysql 进程所属组:mysql socket地址:   支持远程通信:ip:3306   仅支持本地通信:/var/lib/mysql/mysql.sock

二、MySQL数据库安装说明:

1.查找是否安装 mariadb或者mysql有没有安装,卸载centos7中默认安装的有数据库mariadb(mysql和mariadb有冲突)

#查看是否存在mariadb

[root@centos mysql]#   rpm -qa | grep mariadb

#卸载

[root@centos mysql]#   rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

nodeps(表示只卸载mariadb不卸载mariadb相关的依赖)

再次查看是否卸载成功

[root@localhost ~]#  rpm -qa | grep  mysql

卸载老版本MySQL

find / -name mysql

rm -rf 上边查找到的路径,多个路径用空格隔开

#或者下边一条命令即可

find / -name mysql|xargs rm -rf

注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf

4、再次查找机器是否安装mysql

rpm -qa|grep -i mysql

或者:

三、Mysql卸载

1、停止MySQL服务

[root@centos ~]# service mysql stop

2、查看安装的MySQL包0p---------

[root@centos ~]# rpm -qa|grep -i mysql

mysql-community-libs-5.6.42-2.el7.x86_64

mysql-community-server-5.6.42-2.el7.x86_64

mysql-community-common-5.6.42-2.el7.x86_64

mysql-community-client-5.6.42-2.el7.x86_64

3、卸载MySQL安装包

rpm -e –nodeps 包名

[root@centos ~]# rpm -ev mysql-community-libs-5.6.42-2.el7.x86_64

[root@centos ~]# rpm -ev mysql-community-server-5.6.42-2.el7.x86_64

[root@centos ~]# rpm -ev mysql-community-common-5.6.42-2.el7.x86_64

[root@centos ~]# rpm -ev mysql-community-client-5.6.42-2.el7.x86_64

如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1

则用以下命令尝试:

[root@centos ~]#  rpm -e --noscripts mysql-community-libs-5.6.42-2.el7.x86_64

[root@centos ~]#  rpm -e --noscripts mysql-community-server-5.6.42-2.el7.x86_64

[root@centos ~]#  rpm -e --noscripts mysql-community-common-5.6.42-2.el7.x86_64

[root@centos ~]#  rpm -e --noscripts mysql-community-client-5.6.42-2.el7.x86_64

4、查找残留文件删除

[root@centos ~]#  find / -name mysql

/var/lib/mysql/mysql

/usr/lib64/mysql

/usr/share/mysql

[root@centos ~]#  rm -rf /var/lib/mysql/mysql /usr/lib64/mysql /usr/share/mysql

5、删除/etc/my.cnf

[root@centos ~]#  rm -rf/etc/my.cnf

三、MySQL8安装:

rpm -qa | grep mariadb
rpm -qa | grep  mysql
rpm -qa|grep -i mysql
uname -r
yum install -y lrzsz wget
rz -E
yum install -y mysql80-community-release-el8-4.noarch.rpm 
yum repolist enabled | grep "mysql.*-community.*"
sudo yum module disable mysql
sudo yum install mysql-community-server
systemctl start mysqld
systemctl status mysqld

或者:

2.上传mysql

[root@localhost ~]# mkdir -p /usr/local/mysql
[root@localhost mysql]# yum install -y lrzsz wget

3.解压

mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar

[root@localhost ~]# tar -xvf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar

4.安装

[root@localhost ~]# yum -y localinstall *.rpm

5.启动设置开机自启并查看状态

systemctl start mysqld

systemctl enable mysqld

systemctl status mysqld

启动MySQL数据库服务

[root@localhost ~]# systemctl start mysqld        //启动服务

[root@localhost ~]# ps -C mysqld                    //查看服务进程

[root@localhost ~]# systemctl status mysqld        //查看服务状态

[root@localhost ~]# ss -anptul | grep mysqld        //查看服务状态

[root@localhost ~]# systemctl enable mysqld        //设置服务开机自启

修改root口令

​ 默认的数据库管理账号 root 允许从 localhost 访问

​ 首次登录密码在安装时随机生成

​ 存储在错误日志文件里 /var/log/mysql.log

[root@localhost ~]# grep -i password /var/log/mysqld.log

用初始密码登录MySQL服务器

[root@localhost ~]# mysql -uroot –p'初始密码'

修改MySQL初始密码

用 alter user 重设口令

mysql> alter user root@"localhost" identified by "Rr@123456!"; //修改登录密码

quit;

[root@localhost ~]# mysql -uroot -pRr@123456!                //使用新密码重新登录

授权外网连接

mysql> grant all privileges on *.* to 'root'@'%' identified by 'Rf@123456!'with grant option;

mysql> flush privileges;

或者:

use mysql;

update user set host = '%' where user ='root';

alter user 'root'@'%' identified by 'Rr123456!' password expire never;

alter user 'root'@'%' identified with mysql_native_password by 'Rr@123456!';

flush privileges;

或者:

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

4 rows in set (0.00 sec)

mysql> use mysql;

mysql> select host,user from user;

+-----------+------------------+

| host      | user             |

+-----------+------------------+

| localhost | mysql.infoschema |

| localhost | mysql.session    |

| localhost | mysql.sys        |

| localhost | root             |

+-----------+------------------+

4 rows in set (0.01 sec)

mysql> update user set host = '%' where user= 'root';

Query OK, 1 row affected (0.01 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> select host,user from user;

+-----------+------------------+

| host      | user             |

+-----------+------------------+

| %         | root             |

| localhost | mysql.infoschema |

| localhost | mysql.session    |

| localhost | mysql.sys        |

+-----------+------------------+

4 rows in set (0.00 sec)

mysql> flush privileges;

修改密码安全策略密码的长度限制

密码安全策略变量:validate_password_policy

临时修改

mysql> set global validate_password_policy=0;        //只验证长度(LOW策略)默认为1

mysql> set global validate_password_length=4;        //修改密码长度,默认是 8个字符

永久修改

[root@localhost ~]# vim /etc/my.cnf

[mysqld]

validate_password_policy=0    //密码验证策略

validate_password_length=4    //密码长度

重启mysqld服务

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8