Linux下安装mysql的教程详解
作者:GnodiYnehS 发布时间:2024-01-20 03:24:37
1. 关闭mysql服务
# service mysqld stop
2. 检查是否有rpm包,如果没有用rpm安装过mysql,不应该有残留,如果有,需要删掉
检查语法: rpm -qa|grep -i mysql
删除语法: rpm -e <包的名字>
如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包。
3. 通过find命令检查是否有安装mysql文件,有需要删除
检查语法: find / -name mysql
删除语法: rm -rf 目录文件(或文件)
******(2)创建mysql分组和用户******
1. 暴力删除mysql用户
删除语法: userdel -r -f mysql
(如果没有,会提示你mysql不存在,不用在意)
2. 添加分组
添加语法: groupadd mysql
3. 添加mysql用户
添加语法: useradd -g mysql mysql
******(3)解压tar包******
1. cd到mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz目录
2. 解压tar包
解压语法:tar zxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
解压后多出一个mysql-5.7.12-linux-glibc2.5-x86_64的文件,
将这个文件复制到自己喜欢的目录,重命名为mysql,复制的时候请耐心等待,
复制完后,cd到mysql目录,新建一个data的文件夹。
复制语法: cp -r mysql-5.7.12-linux-glibc2.5-x86_64 /usr/local/mysql
新建文件语法: mkdir data
chmod 770 data
在/usr/local/mysql里新建一个data文件夹,并修改权限为770(drwxrwx---.):
[wangh@HavGO mysql]$ sudo mkdir data
[wangh@HavGO mysql]$ sudo chmod 770 data
将/usr/local/mysql的用户设为mysql,用户组设为mysql:
[wangh@HavGO ~]$ cd /usr/local/
[wangh@HavGO local]$ sudo chown -R mysql:mysql mysql进入/usr/local/mysql文件夹并执行该命令:
[wangh@HavGO mysql]$ sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
该命令的意思是初始化 并制定user、mysql目录和data目录(第三步创建的data)
执行完成后得到一个mysql初始密码,我们需要先保存起来,后期第一次登录mysql时使用
2018-06-30T07:40:21.663544Z 1 [Note] A temporary password is generated for root@localhost: 0hl..Ult.usK
A temporary password is generated for root@localhost: 0hl..Ult.usK
0hl..Ult.usK上述完毕后,执行该命令:
[wangh@HavGO mysql]$ sudo bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
该命令设置SSL安全连接mysql(RSA加密),指定mysql目录和data目录
在/var/log/里新建一个mysql日志文件夹用于存放mysql运行日志:
[wangh@HavGO mysql]$ cd /var/log
[wangh@HavGO log]$ sudo mkdir mysql
在/usr/local/mysql文件夹中执行以下命令:
[wangh@HavGO mysql]$ sudo bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data &
再次按一次Enter键让此命令后台运行
mysqld_safe脚本功能自行百度
将mysql加入/etc/init.d启动引导:
[wangh@HavGO mysql]$ sudo cp support-files/mysql.server /etc/init.d/mysql
配置/etc/my.cnf(my.cnf是mysql的配置文件)
[wangh@HavGO mysql]$ vim /etc/my.cnf
修改配置,如下图:
[mysqld]
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
socket=/tmp/mysql.sock
#socket=/var/lib/mysql/mysql.sock
user=mysql
[mysql-safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
其他设置可配可不配
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 允许最大连接数
max_connections=200
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
#忘记密码时可取消注释,无密码登陆
#skip-grant-tables
配置环境变量
[wangh@HavGO mysql]$ vim /etc/profile
添加以下内容:
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"
添加完成,保存退出后,让环境变量立即生效:
[wangh@HavGO mysql]$ source /etc/profile现在mysql已经安装完毕,启动mysql服务:
[wangh@HavGO etc]$ sudo service mysql start
显示启动成功。
如果在第2步骤中,mysql文件夹不是以“mysql命名”,mysqld_safe会报错,显示“mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable.”
因为mysqld_safe脚本默认mysql路径为/usr/local/mysql,此时有两种解决办法,将mysqld_safe中的所有/usr/local/mysql目录改为自己实际的安装目录
或者将自己实际安装目录创建链接至/usr/local/mysql
mkdir /var/lib/mysql
mysql_install_db --user=mysql --ldata=/var/lib/mysql/
mysql服务启动后,键入命令进入mysql,密码为之前获取的初始密码;
[wangh@HavGO etc]$ mysql -u root -p
输入初始密码,回车
设置新密码为:jkl12345784
再次用新密码登陆,就可以使用mysql了。
登录后立即修改root密码:
mysql> alter user 'root'@'localhost' identified by 'admin';
Query OK, 0 rows affected (0.00 sec)
其中your_password是你设置的新密码。新密码应是强密码,要求密码包含大小写字母、数字及标点符号,长度应该在6位以上。
grant all privileges on *.* to 'root'@'%'identified by 'admin' with grant option;
flush privileges
ps aux |grep httpd
总结
以上所述是小编给大家介绍的Linux下安装mysql的教程详解网站的支持!
来源:https://blog.csdn.net/GnodiYnehS/article/details/84528444
猜你喜欢
- 一个很普通的网页中显示LOGO图像,按照以往的页面制作经验,基本是在页面中插入图像即可(<img src="logo.gif
- 第一:pandas.read_csv读取本地csv文件为数据框形式data=pd.read_csv('G:\data_operati
- 准备1.电脑系统:win102.手机:安卓(没钱买苹果)3.需要的工具可以从官网下载https://appium.io/https://ww
- 1 什么是曝光融合曝光融合是一种将使用不同曝光设置拍摄的图像合成为一张看起来像色调映射的高动态范围(HDR)图像的图像的方法。当我们使用相机
- 先以mysql的语句,聚合用在分组里,对mysql中groupby 是分组每什么的时候就要分组,如 每个小组,就按小组分,group by
- 前两篇讲述了Django的理论,从这篇开始,我们真正进入Django实战部分,今天先从用户认证开始。当大家平时打开一个网站时,第一步一般做什
- 很多朋友和我讨论了一些关于网站开发到底使用哪种语言最合适,尤其是到网站一定有一定流量的时候,到底那种web语言更适合做站呢,精灵这里根据自己
- 创作思路:主要还是想尝试做点稍微不同于整天为迎合客户而做的东西.然后闲时就开始构思,比如坐车,走路什么的.看到有一些复古手机的相关图,就想到
- 在Windows系统中用“Ctrl+C”和“Ctrl+V”就可以完成复制、粘贴工作,是不是很爽?其实使用a标签的accesskey属性也可以
- 一、命名元祖在python基础中, 我们学习元祖的时候,取元祖内部的元素都是通过索引来进行取值的。但是这种取值方式不够友好, 所以我们引入命
- 本文实例讲述了Python实现Windows上气泡提醒效果的方法。分享给大家供大家参考。具体实现方法如下:# -*- encoding: g
- msxml3.dll 错误 '80004005'未指定的错误/Project/lijiang_071017/include/
- 对win32 COM不是很熟悉,不知道一个程序究竟有多少属性或者方法可以操作。仅仅是一个Sheet页的添加就费了我好长时间,因为这种成功来自
- 本文实例为大家分享了Python实现k-means算法的具体代码,供大家参考,具体内容如下这也是周志华《机器学习》的习题9.4。 数据集是西
- 常用的网站性能测试指标有:并发数、响应时间、吞吐量、性能计数器等。1、并发数并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力
- 在讲爬取淘宝详情页数据之前,先来介绍一款 Chrome 插件:Toggle JavaScript (它可以选择让网页是否显示 js 动态加载
- 当逐渐在用python开发项目或者日常使用时,一般需要大量使用别人提供的包,这些包能高效的帮助我们快速高效的完成指定任务或者需求,不过有时也
- 停止mysql服务(以管理员身份,在cmd命令行下运行) net stop mysql或者在服务中停止mysql服务。使用 mysqld –
- 认证系统auth auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理。auth可以和adm
- rebase在git中是一个非常有魅力的命令,使用得当会极大提高自己的工作效率;相反,如果乱用,会给团队中其他人带来麻烦。它的作用简要概括为