第一步:进入到root权限

        命令:su

centos无法卸载mariadb linux怎么卸载mariadb_mysql

第二步:查看是否已经安装mariadb

        mariadb数据库是MySQL的分支,它们会发生冲突,因此首先要检查是否安装了mariadb,如果已经安装了,则将其卸载。

        检查命令:yum list installed | grep mariadb

        卸载命令:yum -y remove xxx(上一步查到的mariadb的名称)

*如果卸载不成功,需要去掉参数-y,手动确认卸载。

centos无法卸载mariadb linux怎么卸载mariadb_mysql安装_02

第三步:上传MySQL安装包到/opt目录下

centos无法卸载mariadb linux怎么卸载mariadb_linux_03

第四步:解压安装包到/opt目录

tar -zxvf xxx(安装包名称) -C /opt

第五步:修改解压后的根目录名

mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7

第六步:进入MySQL根目录,创建data文件夹

mkdir data

centos无法卸载mariadb linux怎么卸载mariadb_linux_04

第七步:创建用来执行mysqld命令的Linux用户

创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。可以使用其他用户,例如叫做 mydb.等,但不推荐。

创建mysql组:groupadd mysql

在mysql组里创建mysql用户:useradd mysql mysql

第八步:初始化mysql

使用mysql的 mysqld 命令初始化数据库的·基本信息。切换到mysql-5.7/bin目录下执行。

命令:./mysqld --initialize --user=mysql --datadir=/opt/mysql-5.7/data --basedir=/opt/mysql-5.7

参数说明:

--initialize 初始化mysql,创建mysql的root, 随机生成密码。记住密码,登录msyql使用。

--user执行msyqld 命令的linux用户名

--datadir : mysql数据文件的存放位置,目录位置参照本机的设置。

--basedir : msyql安装程序的目录,目录位置参照本机的设置。

该命令执行后,会生成一个临时的mysql数据库root用户的密码,请先拷贝出来记住,后续第一次登录mysql需要使用。下图中的密码为:DbLpfh6Xy>-2

centos无法卸载mariadb linux怎么卸载mariadb_mysql_05

第九步:启用安全功能

在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书。

在mysql-5.7/bin目录下执行命令:

./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7/data

第十步:修改mysql安装目录权限

mysql安装后,需要更改mysql-5.7.18整个文件夹目录权限,更改所属的用户和组为之前创建的mysql用户及其所在组。在mysql安装目录的上级(/opt)位置,执行命令chown .

修改mysql安装根目录所属的组和用户:chown -R mysql:mysql /opt/mysql-5.7/

修改mysql安装根目录的访问权限: chmod 777 /opt/mysql-5.7/

centos无法卸载mariadb linux怎么卸载mariadb_MySQL_06

第十一步:启动mysql

启动MySQL服务,mysql-5.7/bin目录下执行命令:./mysqld_safe &(其中&符号表示后台启动),输入命令后按Enter。

centos无法卸载mariadb linux怎么卸载mariadb_MySQL_07

确认msyql是否启动,查看进程 ,使用ps -ef | grep mysql

 

第十二步:客户端登录mysql

登录进入mysql,mysql-5.7/bin目录下执行命令:./mysql -uroot -p

-u表示使用root用户登录系统,使用第八步生成的密码。

-p表示使用密码登录

centos无法卸载mariadb linux怎么卸载mariadb_centos无法卸载mariadb_08

第十三步:修改root密码

第八步的root用户密码是临时密码,要修改才能使用。

执行sql语句 show databases; 第一次使用将会提示修改mysql的root用户密码:

centos无法卸载mariadb linux怎么卸载mariadb_centos无法卸载mariadb_09

修改mysql的密码,命令语法:alter user '用户名'@'主机域名或ip' identified by '新密码'

例如:alter user 'root'@'localhost' identified by '2333';

 

第十四步:授权远程访问

授权远程访问,在没有授权之前只能在本机访问msyql,远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)。

授权命令:grant

语法:grant all privileges on *.* to root@'%' identified by 'yf123';

参数:

其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表;

root@'%' 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.235.130等。

执行授权命令:grant all privileges on *.* to root@'%' identified by 'yf123';

centos无法卸载mariadb linux怎么卸载mariadb_centos无法卸载mariadb_10

更新权限信息,执行flush刷新权限: flush privileges;

关闭防火墙:systemctl stop firewalld

centos无法卸载mariadb linux怎么卸载mariadb_mysql_11

使用navicat远程连接数据库:

centos无法卸载mariadb linux怎么卸载mariadb_mysql_12

第十五步:将MySQL设置为自启动:

[root@localhost ~]# touch /etc/systemd/system/mysqld.service
 [root@localhost ~]# cd /etc/systemd/system编辑mysqld.service文件,加入如下内容:
 [root@localhost system]# vi mysqld.service[Unit]
 Description=MySQL Server
 Documentation=man:mysqld(8)
 Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
 After=network.target
 After=syslog.target[Install]
 WantedBy=multi-user.target[Service]
 User=mysql
 Group=mysql
 ExecStart=/opt/mysql-5.7.18/bin/mysqld --defaults-file=/etc/my.cnf
 LimitNOFILE = 5000
 保存退出备注:ExecStart=/opt/mysql-5.7.18/bin/mysqld (此处请对应修改为MySQL程序所在的路径)
 查找mysqld路径,例如:
 [root@localhost system]# which mysqld
 /opt/mysql-5.7.18/bin/mysqld通过systemctl方式启动mysql5.7:
 [root@localhost system]# systemctl start mysqld开机自启动使用systemctl enable mysqld
看到这个(Created symlink from ......)表示加入开机自启成功,服务器重新启动,该服务也会直接开启
第十六步:修改数据库编码
查看数据库编码:show variables where Variable_name like '%char%';
修改mysql的字符集:在mysql客户端执行如下命令

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
set collation_connection=utf8;
set collation_database=utf8;
set collation_server=utf8;