第一步:进入到root权限
命令:su
第二步:查看是否已经安装mariadb
mariadb数据库是MySQL的分支,它们会发生冲突,因此首先要检查是否安装了mariadb,如果已经安装了,则将其卸载。
检查命令:yum list installed | grep mariadb
卸载命令:yum -y remove xxx(上一步查到的mariadb的名称)
*如果卸载不成功,需要去掉参数-y,手动确认卸载。
第三步:上传MySQL安装包到/opt目录下
第四步:解压安装包到/opt目录
tar -zxvf xxx(安装包名称) -C /opt
第五步:修改解压后的根目录名
mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7
第六步:进入MySQL根目录,创建data文件夹
mkdir data
第七步:创建用来执行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
第九步:启用安全功能
在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,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/
第十一步:启动mysql
启动MySQL服务,mysql-5.7/bin目录下执行命令:./mysqld_safe &(其中&符号表示后台启动),输入命令后按Enter。
确认msyql是否启动,查看进程 ,使用ps -ef | grep mysql
第十二步:客户端登录mysql
登录进入mysql,mysql-5.7/bin目录下执行命令:./mysql -uroot -p
-u表示使用root用户登录系统,使用第八步生成的密码。
-p表示使用密码登录
第十三步:修改root密码
第八步的root用户密码是临时密码,要修改才能使用。
执行sql语句 show databases; 第一次使用将会提示修改mysql的root用户密码:
修改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';
更新权限信息,执行flush刷新权限: flush privileges;
关闭防火墙:systemctl stop firewalld
使用navicat远程连接数据库:
第十五步:将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;