103_linux如何安装mysql数据库?

1.1    安装mysql

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

检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉。

检查命令:yum list installed | grep mariadb

卸载命令:yum –y remove xxxx

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

 

第二步:上传mysql安装包到/opt下

 

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

 

第五步:修改解压后的根目录名,主要是因为mysql名字太长了。

 

第五步:创建数据文件夹data

data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录。

默认没有data目录,可以手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹。

 

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

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

 

第七步:初始化mysql

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

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

参数说明:

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

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

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

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

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

 

第八步:启用安全功能

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

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

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

 

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

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

例如:chown -R mysql:mysql /opt/mysql-5.7.18/:修改文件的组与所有者(第一个mysql时所有者)

      chmod 777 /opt/mysql-5.7.18/:修改文件的权限(这里只是修改了目录,并没有修改子文件)

 

第八步:启动mysql

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

 

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

 

 

第九步:客户端登录mysql

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

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

-p表示使用密码登录

 

第十步:修改root密码

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

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

 

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

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

 

第十一步:授权远程访问

授权远程访问,在没有授权之前只能在本机访问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';

 

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

 

关闭防火墙:systemctl stop firewalld

 

远程连接数据库:

 

第十二步:关闭mysql服务

mysql-5.7.18/bin目录下执行:./mysqladmin -uroot -p shutdown输入密码关闭

 

查看mysql进程,已经没有mysqld_safe

 

第十三步:修改数据库编码

查看数据库编码: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;

 

 

         

 

 

 

posted on 2020-04-13 15:58  十年磨三劍  阅读(183)  评论(0编辑  收藏  举报

导航