安装MYSQL
涉及到的工具及软件连接
链接:https://pan.baidu.com/s/1r577kFeuojUrMoEUn88B8w
提取码:xh93
查看是否已经安装了mariadb
检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉
检查命令:yum list installed | grep mariadb
对mariadb进行卸载
卸载命令:yum –y remove xxxx
如果卸载不成功,需要去掉参数-y,手动确认卸载。
上传mysql安装包到服务器中
我使用的是xftp工具,上面有对应的工具,需要的自行下载
文件路径自行定义,这里涉及到公司的j信息安全就不放出来了
解压mysql安装包到目录
tar -zxcf 为解压命令 “解压文件名称” -C /解压目录(需要的是全路径)
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /opt/mysql
解压后是这样子的,解压的名字有点长,改一下名字
使用命令:mv 原名称 新名称
mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7
创建存放数据的文件夹
创建数据文件夹data
data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录
默认没有data目录,可以手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹
创建文件夹:mkdir data
创建用来执行mysqld命令的Linux用户
创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。可以使用其他用户,例如叫做 mydb.等,但不推荐。
# 创建组 mysql
groupadd mysql
# 创建用户并且指定组
useradd -g mysql mysql
初始化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提供了开启数据加密功能,生成数字证书。
在bin目录下执行
–datadir:存放数据路径
./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.18/data
修改mysql安装目录权限
mysql安装后,需要更改mysql整个文件夹目录权限,更改所属的用户和组为之前创建的mysql用户及其所在组。
在mysql安装目录的上级位置,执行命令chown .-R 组:用户 路径
修改mysql安装根目录所属用户和组
chown -R mysql:mysql (这是路径,没有复制出来,自行定义)
修改mysql安装目录的访问权限
chmod 777 (安装路径)
启动mysql
启动MySQL服务,mysql-5.7.18/bin目录下执行命令:./mysqld_safe &(其中&符号表示后台启动)
打了格子的都是路径,不必纠结
客户端登录mysql
/bin目录下执行命令:./mysql -uroot -p
使用刚刚生成的临时密码进行登录
修改root密码
执行sql语句 show databases; 第一次使用将会提示修改mysql的root用户密码
修改mysql的密码,命令语法:alter user ‘用户名’@‘主机域名或ip’ identified by ‘新密码’
授权远程访问
权远程访问,在没有授权之前只能在本机访问msyql,远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)
参数:
其中*.* 的第一个表示所有数据库名,第二个表示所有的数据库表
oot@‘%’ 中的root表示用户名,%表示ip地址, 例:root@localhost,root@192.168.235.130等
语法:grant all privileges on *.* to root@'%' identified by '密码';
更新权限信息,执行flush刷新权限:
flush privileges;
关闭防火墙
systemctl stop firewalld
使用客户端进行连接
修改MYSQL的编码
修改数据库编码
进入mysql客户端 使用sql查看数据库编码
show variables where Variable_name like '%char%';
修改数据库编码(复制粘贴就好)
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;
再次查看编码
关闭mysql服务
还是在/bin目录下去执行
./mysqladmin -uroot -p shutdown 输入密码关闭