安装mysql

新机安装需要检查:

rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs 卸载及卸载mariadb的依赖
1.现在centos上默认是没有yum源的,yum安装的是 MariaDB。所以我们需要自己先配置yum源。配置yum源步骤如下:

下载yum源:
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FyUjNFQD-1619059914212)(C:\Users\lenovo\AppData\Local\Temp\1592364003543.png)]

安装yum源
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vHCAYd46-1619059914216)(C:\Users\lenovo\AppData\Local\Temp\1592364057023.png)]

查看有哪些版本的mysql:
yum repolist all | grep mysql

2.安装

我默认使用安装mysql5.7 这里如果带宽小的话,会很慢,而且试验结果是阿里云比腾讯云快。
yum install -y mysql-community-server

3.启动mysql,要知道在centos7中,没有了service命令,都是使用systemctl命令。注意启动的时候是start mysqld而不是mysql。

而在centos6中,使用service mysqld start
systemctl start mysqld 查看状态
systemctl status mysqld

4.登录数据库,修改数据库密码

mysql5.7的新特性之一就是在初始化的时候会生成一个自定义的密码,然后你需要找到这个密码,登录的时候输入。注意,输入密码的时候是不显示。
找到密码: 红框的地方就是密码
grep 'temporary password' /var/log/mysqld.log

登录数据库:这里-p之后不用输入密码,回车后再输入。改过密码之后登录则是直接在-p后加密码了。

mysql -uroot -p

修改密码

注意,修改的密码太简单会不给修改,把大小写字母和数字加上就肯定可以了。然后切记切记,mysql里面的命令要加分号!分号!分号!
SET PASSWORD = PASSWORD('hongdong123!@#');

设置远程可以登录

现在这样是无法在本地用工具登录访问的,现在要做两件事,一件事是将云服务器上的3306端口开放;另一件事是配置远程可以访问。
GRANT ALL PRIVILEGES ON *.* TO 'cmdi'@'%' IDENTIFIED BY 'hongdong123!@#' WITH GRANT OPTION;flush privileges; 先设置刚才的密码可以远程登录,然后使用flush命令使配置立即生效。
如果还不行可以尝试重启一下数据库。

也可以创建一个新的用户并赋予权限

创建用户:表示创建一个账号为zhangsan 密码为123456的用户
create user zhangsan identified by '123456';
赋予权限:
命令:
grant 权限1,权限2,... on 数据库名称.表名 to 用户名@用户地址 identified by '密码';

实例1:给dzt用户用本地命令行方式下,授予xxx这个库下的所有表的增删改查的权限
grant select,insert,delete,drop on xxx.* to dzt@localhost;

实例2:授予通过网络方式登录的dzt用户,对所有库所有表的全部权限,密码设置为123456
grant all PRIVILEGES on *.* to 'dzt'@'%' IDENTIFIED BY '123456'

flush privileges; 刷新

使用期间修改密码:

update mysql.user set password=password('hongdong123!@#') where user='cmdi'
flush privileges; 所有通过user表的修改,都需要刷新内存,从硬盘中重新读取配置方可生效

set password for cmdi@localhost = password('hongdong123!@#'); 

set password for 'cmdi'@'%'=password('hongdong123!@#');
5.修改一些简单的配置:

默认的字符集是拉丁字符集,每次创建数据库的时候要设置字符集;

默认还不支持group by语句,默认的时区也不是我们现在的北京时间(东八区),会导致我们的时间差了13个点。
先输入exit退出数据库客户端。

打开配置文件,yum安装的默认在/etc文件夹下:

vim /etc/my.cnf
在[mysqld]下面添加,不需要分号
字符集:注意是utf8而不是utf-8!
character-set-server=utf8 这时候使用show variables like ‘char%’;就可以查看到字符集都是utf8了

如果此时数据库在修改字符集之前创建,那么该数据库的编码还是之前的需要重新进行修改

修改数据库的字符集
alter database xxx character set 'utf8';

修改数据表的字符集
alter table xxx convert to character set 'utf8';

sql支持group by语句
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 设置时区为东八区
default-time_zone = '+8:00'

最后重启数据库,使配置生效。

systemctl restart mysqld

6.设置开机启动

systemctl enable mysqldsystemctl daemon-reload

卸载

采用yum安装mysql后,如果想要完全卸载mysql,可以采用如下方式:
1、查看mysql安装了哪些东西

rpm -qa |grep -i mysql

2、开始卸载

yum remove mysql-community-common-5.7.20-1.el7.x86_64
yum remove mysql-community-client-5.7.20-1.el7.x86_64
yum remove mysql57-community-release-el7-11.noarch
yum remove mysql-community-libs-5.7.20-1.el7.x86_64
yum removemysql-community-server-5.7.20-1.el7.x86_64

3、查看是否卸载完成

rpm -qa | grep -i mysql

4、查找mysql相关目录

find / -name mysql

5、删除相关目录

rm -rf

6、删除/etc/my.cnf

rm -rf /etc/my.cnf

7、删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,导致无法登陆)

rm -rf /var/log/mysqld.log