最近因为想写个小网站记录一些生活中的事情,需要用到数据库,就刚好想趁此机会,复习和学习下mysql和服务器的知识,在经历了N次失败后,终于把mysql安装成功了!!特此记录下。
本文参考:http://www.jb51.net/article/133835.htm 并根据实际情况进行部分更改
一、准备工作
1. 下载MySQL安装包
进入mysql官网下载页(https://www.mysql.com/downloads/),选择 Community ,然后选择 MySQL Community Server
如下图所示,在页面中 Select Operating System 下面的下拉框中选择 Linux - Generic ,然后在下面的下拉框选择你要下载的版本 32位还是 64 位,然后在下面筛选出来的可下载的安装包中选择你要下载的版本。
2. 卸载系统自带的Mariadb
[root@localhost ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
[root@localhost ~]# rm /etc/my.cnf //删除etc目录下的配置文件 my.cf
二、安装MySQL
1. 进入 /usr/local 文件夹:
[root@localhost ~]# cd /usr/local/ // 进入 local 文件夹
2. 使用 rz 命令将下载好的安装包上传至服务器中,若 提示 “ -bash:rz(或者是 sz):command not found”,可以查看我的另一篇文章进行解决 解决Linux -bash: rz(或者是sz): command not found
3. 解压安装包:
[root@localhost ~]# tar -zxvf mysql安装包名 //解压mysql安装包
4. 更改解压后的文件夹名称:
[root@localhost ~]# mv mysql安装包解压后文件名 mysql //更改解压后的安装包名为 mysql
5.创建用户组 mysql,创建用户mysql并将该用户添加到 mysql 用户组,并赋予权限
[root@localhost ~]# groupadd mysql --创建mysql用户组组
[root@localhost ~]# useradd -r -g mysql mysql --创建mysql用户并添加到mysql用户组中 格式:useradd -g 分组名 用户名
[root@localhost ~]# chown -R mysql /usr/local/mysql/ --将mysql目录访问权限赋为myql用户
[root@localhost ~]# chgrp -R mysql /usr/local/mysql/ --改变mysql目录的用户组属于mysql组
注:
chown 命令:用于改变文件或目录的访问权限。
chgrp 命令:改变文件或目录所属的用户组
-R :处理指定目录以及子目录下的所有文件
6. 创建配置文件并保存退出
[root@localhost ~]# vi /etc/my.cof --打开配置文件,如果没有该文件会创建一个新的文件
按 i 开启编辑,将以下内容复制进文件中:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#不区分大小写
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=5000
default-time_zone = '+8:00'
按 esc ,然后输入 :wq! 进行保存退出。
7. 初始化数据库,依次执行以下命令
#先安装一下这个东东,要不然初始化有可能会报错
[root@localhost ~]# yum install libaio
#手动编辑一下日志文件,什么也不用写,直接保存退出
[root@localhost ~]# cd /var/log/
[root@localhost ~]# vi mysqld.log
:wq
[root@localhost ~]# chmod 777 mysqld.log
[root@localhost ~]# chown mysql:mysql mysqld.log
[root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
8. 查看初始密码
[root@localhost support-files]# cat /var/log/mysqld.log
最后一行:root@localhost: 这里就是初始密码,将这密码记起来,等下要用到。
9. 依次执行以下语句启动服务
[root@localhost support-files]# cd /var/run/
[root@localhost support-files]# mkdir mysqld //创建 mysqld文件
[root@localhost support-files]# chmod 777 mysqld //给 mysqld文件赋予权限
[root@localhost support-files]# cd mysqld
[root@localhost support-files]# vi mysqld.pid
[root@localhost support-files]# chmod 777 mysqld.pid
[root@localhost support-files]# chown mysql:mysql mysqld.pid
[root@localhost support-files]# /usr/local/mysql/support-files/mysql.server start //启动mysql服务
若出现下图所示内容 Starting MySQL. SUCCESS! ,表示启动成功,至此,已经成功 90%左右
11. 进入mysql:
[root@localhost support-files]# /usr/local/mysql/bin/mysql -uroot -p 刚刚初始化数据库时查看的初始密码
若此时出现需要输入密码,如下图所示
11.1 输入命令,修改 /etc/my.cnf 配置文件
[root@localhost support-files]# vi /etc/my.cnf
[root@bogon mysqld]# ps -ef|grep mysql //查询当前正在运行的mysql 进程
若有查询到对应的进程,在输入命令 kill 进程编号 结束该进程,如下图所示
11.3 输入命令重启 mysql服务
[root@bogon mysqld]# /usr/local/mysql/support-files/mysql.server start
当窗口输出 Starting MySQL. SUCCESS! 说明,重启成功
11.4 输入命令进行登录
[root@bogon mysqld]# /usr/local/mysql/bin/mysql -uroot -p
11.5 更新密码
use mysql; //选择数据库
update user set authentication_string=PASSWORD('root') where User='设置的root密码'; //重置密码
flush privileges; //刷新 MySQL 的相关权限表
exit; //退出
11.6 恢复 /etc/my.cnf 配置文件
重复 11.1 的操作,编辑 /etc/my.cnf 文件,将 skip-grant-tables 注释(用 # 开头)或删除,重复 11.2 关闭mysql 服务。
12. 设置开机自启动
[root@bogon mysqld]# cd /usr/local/mysql/support-files
[root@bogon support-files]# cp mysql.server /etc/init.d/mysqld
[root@bogon support-files]# chkconfig --add mysqld
13. 添加系统路径
[root@bogon support-files]# vi /etc/profile //打开文件
13.1 按 i 进入编辑模式,在文件最底下添加
export PATH=/usr/local/mysql/bin:$PATH
然后 按 esc 输入 :wq! 进行保存退出
13.2 输入命令让 修改立即生效
[root@bogon support-files]# source /etc/profile //让刚刚的修改立即生效
14. 启动mysql
[root@bogon support-files]# service mysqld start //启动mysql
除了启动命令外,还有两天命令在平时可以用到
[root@bogon support-files]# service mysqld stop //停止mysql
mysq[root@bogon support-files]# service mysqld restart //重启mysql
15. 进入mysql
[root@bogon support-files]# /usr/local/mysql/bin/mysql -uroot -p //进入mysql
提示 Enter Password: 时 ,输入 11.5 时设置的新 root 密码后按回车键即可登录成功
16. 开启MySQL远程连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'mysqlNet'@'%' IDENTIFIED BY 'mysqlNet' WITH GRANT OPTION; // 创建用户、密码及权限范围 第一个 mysqlNet 为用户名 @后为适用的主机,‘%’表示所有电脑都可以访问连接,第二个 mysqlNet 为密码
mysql> flush privileges; //更新权限表 使修改立即生效
17. 开放 3306 端口
首先 输入 exit 退出mysql ,然后输入命令开启端口
[root@bogon support-files]# firewall-cmd --zone=public --add-port=3306/tcp --permanent //开启3306端口
[root@bogon support-files]# firewall-cmd --reload //重启防火墙,使设置生效
至此,所有的安装和基础设置均已完成,可以进行连接测试。